The Trotters are now unbeaten in 13 and have won four consecutive games.
Mark Cooper's side would have gone second with a win, but the defeat sees them drop a place to fourth.
Story of the match
After a cagey start, it was the hosts who had the first chance in the 19th minute. Kane Wilson intercepted Williams' pass and surged into the box before forcing Matt Gilks into a low save.
Thomason brought a save from Rovers keeper Lewis Thomas seven minutes later with a well-struck effort from long range.
Forest Green saw two chances in quick succession go begging. The first came when Odin Bailey's corner was headed goalwards by Chris Stokes, but Taylor Allen couldn't make contact before Gilks gathered. Soon after, Aaron Collins did well to find Davison inside the box, only for a heavy touch to let him down.
The Trotters took the lead in the 39th minute when Doyle emphatically volleyed home from 10 yards after Nathan Delfouneso had crossed.
Declan John fired an effort wide from outside the box in added time as they looked to double their advantage.
Jake Young came on for Bailey in the 57th minute and instantly played a part in Rovers having the second half's first opportunity. Dom Bernard received the ball from the youngster and found Collins, who slipped and saw his shot go high and wide.
Bolton had a penalty appeal turned down with 21 minutes remaining when Oladapo Afolayan went down under the challenge of substitute Udoka Godwin-Malife.