Pettitte (10-9) stayed on a roll with the 86-pitch gem, dispatching the Blue Jays on five hits. The veteran left-hander walked two and struck out three.
With the victory, Pettitte set a new Yankees record for most seasons with 10 or more wins with 14.
Soriano connected for a three-run blast in the first inning and added a solo shot in the third, while Mark Reynolds and Alex Rodriguez also went deep in the victory as New York evened its three-game series.
The Yanks moved to within four games of an American League wild card spot with the victory.
J.A. Happ (3-4) sustained the defeat, yielding five runs seven hits over 4 2/3 innings.
Kevin Pillar drove in the Blue Jays' only run.