West Coast was outworked in the final term and succumbed to St Kilda by 14 points in arm-wrestle at Optus Stadium on Saturday.
Leading by 11 points early in the fourth quarter, the Eagles couldn't sustain their effort when it mattered most as the visitors won 12.10 (82) to 10.8 (68).
In a scrappy at times but highly entertaining clash that saw the lead change nine times, Saint Mason Wood was the difference late with three of his four goals in the last term.
Usual suspects Elliot Yeo (27 disposals, eight clearances), Liam Duggan (25) and Jeremy McGovern (21) stood tall, while Tom Barrass was a rock in defence for West Coast.
Sharpshooter Jamie Cripps snared three majors, as did sidekick Liam Ryan in encouraging displays.
Matt Flynn showed some promising signs in the ruck on club debut alongside Bailey Williams, taking some strong marks and competing well around the ball, while veteran Andrew Gaff started strongly and kicked the Eagles' opening goal before finishing with 21 touches.
Harley Reid's blistering first-half saw midfielder Marcus Windhager tagging the young star, who finished with 20 disposals and seven clearances.
The Eagles will now wait on the Match Review assessment of Reid's tackle on fellow draftee Darcy Wilson, which will at least be looked at after the Saints' speedster was slung to ground and hit his head before being assessed and playing out the game.
Reid looked like ripping the match away from the Saints in a brilliant second quarter, but he was held by Windhager to just three disposals in the second half.
The Saints launched into Saturday's clash and had 11 of the first 12 forward entries, but their haphazard delivery forward of centre let them down repeatedly and they kicked only 1.2 for their dominance.
When the game settled and the Eagles were able to assert themselves more in the contest, they got some late reward through Andrew Gaff and Jack Darling and were able to take a nine-point lead into the first break.
The second quarter followed a similar early pattern as St Kilda controlled the contest and got its transition game going through the speed and clean skills of important pair Jack Sinclair and Nasiah Wanganeen-Milera.
They took a three-point lead when former Docker Liam Henry crumbed and snapped a nice goal in his return to Perth, and the Saints had all the momentum and a style that looked to be working.
From that point on, however, it was Reid's quarter as the young star racked up 13 disposals and six clearances for the term in a physically assertive period that led to a three-goal run for his team.
The highlight was a broken tackle as he was spun on the wing before lowering his eyes and finding teammate Liam Ryan, who set up the first of two consecutive goals for Jamie Cripps in the same pocket.
When Ryan converted inside the final minute of the quarter, the Eagles had a 14-point lead and were on top in clearances (26-17), contested ball (76-73) and inside 50s (25-22).
The Saints got on top in the contest as a result and kicked three consecutive goals, including a 50m set shot for Sinclair, which gave the visitors the lead again after the seventh lead change of an entertaining game.
The response came yet again as Ryan booted back-to-back goals to give the Eagles a five-point lead at the last change, and Cripps' third at the start of the fourth quarter gave them an 11-point lead and momentum.
The Saints showed grit in the final term to wrench back the advantage, kicking five of the last six goals to snag an impressive road win against an Eagles team that has been hard to beat in Perth.
WEST COAST 2.5 6.6 8.7 10.8 (68)
ST KILDA 1.2 4.4 7.8 12.10 (82)
GOALS
West Coast: Ryan 3, Cripps 3, Darling 2, Gaff, B.Williams
St Kilda: Wood 4, King 2, Caminiti, Henry, Higgins, Membrey, Ross, Sinclair
BEST
West Coast: Yeo, Barrass, Cripps, Ginbey, Duggan, Ryan, Reid
St Kilda: Wood, Wanganeen-Milera, Windhager, Sinclair, Dow, Wilkie, Marshall
INJURIES
West Coast: Nil
St Kilda: King (knee)
LATE CHANGES
West Coast: Jake Waterman (shoulder) replaced by Jack Williams
St Kilda: Nil
SUBSTITUTES
West Coast: Zane Trew (replaced J.Williams in the third quarter)
St Kilda: Dan Butler (replaced King at three-quarter time)
Crowd: 47,526 at Optus Stadium