Both sides produced a goal during the opening two shootout rounds and Lupul began the third by beating Mike Smith.
James Reimer then turned aside Antoine Vermette to secure the victory and end Toronto's two-game skid. Phoenix has lost three in a row, the last two coming on its current four-game road trip that has stops remaining in Ottawa and Buffalo.
Troy Brodie, recalled from the American Hockey League last week to begin his second stint of the season with the Maple Leafs, scored his first goal of the campaign late in the first period.
Toronto held onto its 1-0 lead until Martin Hanzal tied it with 4:52 to go in the third period.
Reimer made 34 saves to collect the victory. Smith stopped 26-of-27 shots before letting in two more in the shootout.