The three soldiers of the 17th Parachute Engineering Regiment were shot Thursday while standing near an ATM in a busy shopping area in the southern town of Montauban, Radio France Internationale reported.
The gunman, who was wearing all black and a helmet with a visor, arrived at the scene on a Yamaha T-Max scooter and opened fire, police said.
Witnesses told police the gunman ran over one of the wounded soldiers with his scooter and shot him three more times before making his getaway.
Two of the soldiers died at the scene, while the third remains in critical condition, RFI reported.
The mayor of Montauban called the shootings "senseless."
"They were boys with no history of trouble. They could have been my kids," mayor Brigitte Bareges said.
Thursday's attack came after a soldier was shot and killed in Toulouse -- about 28 miles from Montauban -- Sunday, the Los Angeles Times reported.
In that shooting, Imad Ibn Ziaten, 30, a staff sergeant in the 1st Airborne Transportation Regiment, was shot in the head by a gunman on a scooter.
Investigators said it was too soon to establish a connection between the two shootings.