كتب : Ahmad Saied
The veteran midfielder curled an unstoppable finish home ten minutes after re-start before he fed Thierry Henry for the second shortly after.
The victory put France in second spot with five points, two behind Switzerland who finished as Group G winners thanks to goals from Philippe Senderos and Alexander Frei.
France will now play Group H leaders Spain in an anticipated clash in the round of 16 while Switzerland will have an easier task when they play Ukraine.
The 1998 champions started the game with an attacking formation with David Trezeguet playing beside Thierry Henry in the front line, supported by Florent Malouda and Frank Ribery from the flanks.
Trezeguet, who was left on the bench during the first two games, had several attempts on target but Togo keeper Kossi Agassa stood between France and the opener during the first-half.
In the seventh minute, Trezeguet fired a dangerous header at Agassa before the Juventus striker sent a feeble shot into the hands of the Togolese stable keeper.
Ribery and Malouda unleashed two long-range shots but neither of them could beat the focused Agassa.
Vieira for Victory
Vieira, who was committed to the defensive role in the first period, stepped up his efforts after the break and helped France to score almost back-to-back goals.
In the 55th minute, Vieira cut inside the area and received a low pass from Ribery with his back to the goal, span around, and curled a dazzling shot into the top corner of the net.
The Juventus midfielder towered to a Willy Sagnol long pass before heading into the path of Henry who controlled the ball and buried a low shot home one minute after the hour mark.
France dominated the game after the second goal and coach Raymond Domenech fielded strikers Sylvain Wiltord and Sydney Govou but both of them failed to extend the score line.
Elsewhere, Switzerland snatched the top spot of the group with a comfortable 2-0 victory over Korea.
Arsenal defender Senderos headed home in the 24th minute to put his side ahead but the aerial challenge with a Korean defender left him with a cut in the head.
Frei sealed the victory in the 77th minute with a skilful touch and guaranteed his side a place in the next round.