Ribery set up Etienne Capoue for the opener before wrapping it up with a fine chip 10 minutes from time in a one-sided encounter that came to life after the interval.
Christophe Jallet scored France's second goal before Belarus reduced the arrears through Anton Putilo 18 minutes from time.
Les Bleus snatched their second win in as many games four days after a 1-0 victory in Finland but they failed to impress.
Didier Deschamps's side lacked inspiration and were lucky not to trail the visitors early in the second half.
They will need to improve dramatically to stand a chance against world and European champions Spain in their qualifier in Madrid next month.
Deschamps had decided to give Karim Benzema a hand up front by fielding Olivier Giroud but it did not seem to help Les Bleus who produced a lacklustre display in the first half.
The hosts had their best chance after 13 minutes when a Giroud header from a Ribery cross was parried away by Sergei Veremko with a fine dive to his right.
Veremko denied Mamadou Sakho eight minutes from the interval when he stopped the defender's downward header on his goal line.
Belarus had their first chance in the 47th minute but it took a lightning quick Hugo Lloris save to deny Stanislav Dragun from close range.
It spurred France into action.
Two minutes later, Ribery broke down the right flank and Capoue, who started in place of the injured Abou Diaby, connected with the winger's pass to beat Veremko with a low shot from just inside the box.
Jallet doubled the tally 19 minutes later when what seemed to be an attempted cross dropped in under the bar.
Belarus pulled one back in the 72nd when Putilo netted from close range after Lloris had saved Sergei Kornilenko's penalty.
Ribery, however, put the result beyond doubt when he chipped the ball past Veremko 10 minutes from time.
France's next game will be a home friendly against Japan on Oct. 12.