Lupul's first tally came on a power play 22 seconds into the final frame and boosted the Leafs into a brief 2-1 lead, but Florida's Shawn Matthias answered only 23 seconds later to again knot the score.
Then with 3:12 elapsed in the third, Phil Kessel found Lupul coming down the slot and slid him a pass, which he fired past Jacob Markstrom for decisive score.
Dion Phaneuf also scored for the Maple Leafs, who registered their third win in five games and strengthened their grip on the sixth playoff spot in the Eastern Conference.
Ben Scrivens made 40 saves in the win.
Tomas Fleischmann found the net and Markstrom logged 28 saves for the Panthers.