Giampaolo Pazzini’s brace was ultimately enough to give Milan three points, though a Philippe Mexes own goal gave Bologna late hope.
Elsewhere, Catania stunned Genoa, Siena beat Sampdoria in an ill-tempered match and Parma stalled in Verona.
Torino thumped Pescara at the Adriatico, while Atalanta-Cagliari started 30 minutes late.
Think you know your Italian football? Share your knowledge, tips and comments to win cash prizes in OLBG's tipster competition - £5,000 monthly.