Ciro Immobile missed a penalty with goals in either half from Ibrahima Mbaye and Nicola Sansone sealing all three points for Bologna, which snapped a 15-match winless league run against the Roman side.
"The missed penalty set the tone for the game," coach Simone Inzaghi said.
Inzaghi's side showed signs of fatigue as it came off a heavy 4-1 UEFA Champions League Round of 16, first leg defeat to holder Bayern Munich.
"We must forget about these two defeats which hurt. An ambitious team like ours needs to roll up our sleeves and do better," Inzaghi added.
Lazio has lost momentum since losing to Inter Milan in Serie A two weeks ago, and next hosts Torino before travelling to champion Juventus.
Last season's European golden shoe winner Immobile had a chance to score from the spot after quarter of an hour after Joaquin Correa was tripped in the box with goalkeeper Lukasz Skorupski easily dealing with the striker's weak effort.
Eleventh-placed Bologna got the breakthrough two minutes later when Mbaye tapped in a rebound after Pepe Reina cleared a Riccardo Orsolini volley.
Musa Barrow set up Sansone for the second after 64 minutes with Skorupski solid amid a late Lazio flurry to end a 19-game league scoring streak, two short of its record run in 1956.
Lazio stays sixth on 43 points with European rival Roma hosting AC Milan on Monday (AEDT) and Atalanta away to Sampdoria.