Lezak overhauled the Frenchman to win in 3 minutes, 8.24 seconds, breaking the world record of 3:12.23 set by the Americans in Sunday's preliminaries.
France took the silver in 3:08.32. Australia earned the bronze in 3:09.91.
Phelps' hopes of breaking Mark Spitz's record of seven golds in a single games appeared doomed when the French took over the lead at the 250 mark. They were 4.03 seconds under world-record pace at 350 meters before Lezak, the oldest American male swimmer at 32, rallied over the closing strokes.