Following a relatively low-key 80 minutes, a frenetic end to the encounter saw Salma Paralluelo and Rebecka Blomqvist find the net for their respective sides, before Olga Carmona's sublime last-gasp finish punched La Roja's ticket to the big occasion.
Few clear-cut chances presented themselves for either side in the first half, as Spain enjoyed the lion's share of the ball but were largely nullified by a well-drilled Sweden backline.
La Roja did not even manage a single shot on target in the first half, although Carmona did try her luck from distance in the 14th minute and witnessed her powerful drive flash just wide of the far post.
Having held their shape to good effect, Sweden almost capitalised on a Spain error in the 42nd minute, as Carmona's attempted pass was cut out by Nathalie Bjorn, who picked out Fridolina Rolfo at the back stick, but the Barcelona attacker did not connect cleanly on the volley and was thwarted by Catalina Coll down to her right.
Jorge Vilda made the bold decision to take off Ballon d'Or winner Alexia Putellas for quarter-final hero Paralluelo in the second half, and the 19-year-old almost made another crucial contribution off the bench in the 70th minute, keeping an attack alive after Alba Redondo had seemingly poked wide.
Paralluelo poked the ball back to Redondo - who was on the floor inside the six-yard box - but the Levante winger's improvised effort rippled the side netting, as a gilt-edged chance for Spain went begging.
However, Vilda's call to introduce the teenager proved to be a masterstroke once again, as with 80 minutes on the clock, Paralluelo found the bottom corner through a sea of bodies in the penalty area after Jonna Andersson's poor clearance fell straight at her feet.
Spain's opener was merited, but anything Paralluelo could do, Blomqvist could do better, as Lina Hurtig headed a cross down for the 26-year-old to equalise with a stunning half-volley into the top corner in the 88th minute.
The drama was far from over, though, and Sweden were only back on level terms for fewer than two minutes, as Teresa Abelleira played a corner short to Carmona, who was left unmarked on the edge of the box to send a delightful side-footed effort into the net via the underside of the bar.
Zecira Musovic arguably should have done better in the Sweden goal, but her defence did a mediocre job of closing Carmona down, and Spain survived seven minutes of injury time to move one step away from international glory.
Vilda's side will learn their final opponents on Wednesday, as England and Australia face off for the chance to pit their wits against La Roja in Sydney, while the losers will compete for third place with Sweden in Brisbane Saturday.