Antoine Griezmann was on target for the world champions as he became the country's fourth all-time top-scorer with 35 goals. France were not at their vibrant best but controlled the match enough to eventually find a winner.
The Barcelona man popped up with a header in the 60th minute after latching onto Adrien Rabiot's lovely over-the-top cross.
The Dragons had their moments in the first half. But thanks to Hugo Lloris, nothing quite came of them as they also saw a few penalty claims denied in the second stanza.
France, despite starting their qualifying campaign with a draw against Ukraine, take a commanding lead at the top of Group D with this win.
On that note, let's take a look at the France player ratings in the game.
Hugo Lloris - 7/10
Even though Bosnia seldom threatened, the France captain made two emphatic saves in a span of two minutes in the first half, which were the only highlight of Hugo Lloris's night.
Benjamin Pavard - 7/10
With the home side showing little in terms of creativity, Benjamin Pavard had the freedom to venture forward and link up with the attack. He laid two key passes and mustered one effort at goal, which was blocked, though.
Raphael Varane - 7/10
His accurate passing was the key to France's ball progression. Raphael Varane also showed a more attacking side of his game, often popping up in dangerous positions as he also attempted two shots.
Presnel Kimpembe - 8/10
Presnel Kimpembe stood his ground well and proved to be a solid presence at the heart of the backline. He especially kept Edin Dzeko in check whenever he tried to cause problems with his movements. Kimpembe made four tackles and six clearances, the most by a France player on the night.
Lucas Hernandez - 6/10
Not much of an offensive threat, but Lucas Hernandez threw his weight around in defence, winning two aerial duels.
Kingsley Coman - 6/10
Kingsley Coman got into pockets of space with the ball at times but hesitated to directly take his opposite number on. The Bayern Munich man didn't create a single chance and couldn't impact the game in the way he would've liked.
Paul Pogba - 6/10
Paul Pogba was the deep-lying midfielder tasked with distributing the ball even though he couldn't really break down Bosnia well. Perhaps, using him in a more advanced position could have really unleashed his true quality.
Adrien Rabiot - 7/10
It was a great all-round performance from the Juventus man, as he used his physicality well to dominate the midfield while also protecting France's backline from counter-attacks. He also set up Griezmann for the winner with a lovely floating cross.
Thomas Lemar - 6/10
Thomas Lemar played an important part in France's goal and enjoyed a free run in the attack. However, he ran out of ideas while in concentrated areas.
Antoine Griezmann - 8/10
The France talisman was on target for his side again, heading home their only goal in the 60th minute. Antoine Griezmann is now the fourth all-time top-scorer in his country's history.
Kylian Mbappe - 6/10
It was a very quiet performance from the PSG starlet. Kylian Mbappe struggled to get himself into the match and never really tested the Bosnian defence.
Ratings of France Substitutes:
Olivier Giroud - 8/10
Olivier Giroud's importance to France can be gauged from how the dynamics of the game changed after he was subbed on. He also created space from which Antoine Griezmann scored the only goal of the night.
Moussa Sissoko - N/A
Moussa Sissoko came on after stoppage-time and created one good chance for 'Olivier Giroud on the break.