Diego Simeone’s side trailed 1-0 with 18 minutes left at the Allianz Arena, but scruffy efforts from Torres and then Vietto turned the match around.
Atletico will meet Liverpool in Wednesday’s final, while Napoli will face the Bayern Munich.
Having survived a first-half penalty, which saw Jan Oblak deny Arkadiusz Milik, Atleti fell behind in the 56th minute to Jose Callejon’s well taken volley.
But Antoine Griezmann teed up Torres to score from an awkward position before Vietto – who spent the 2016-17 campaign on loan at Sevilla – turned home the winner.
However, Diego Godin inexplicably picked up two yellow cards in the final 10 minutes for a pair of needless, rash challenges.