Romelu Lukaku scored his 20th goal of the campaign as Inter took a step closer to securing the Serie A title with a hard-fought victory at Bologna.
After a slow start, the Nerazzurri took the lead in the 31st-minute, with Lukaku scoring a scrappy goal as he reacted quickest to prod home after his header was pushed onto the post by Bologna goalkeeper Federico Ravaglia.
Bologna enjoyed the lion's share of possession in the first-half but chances were at a premium for the hosts, although Roberto Soriano ought to have levelled on the stroke of half-time.
Inter confirm interest in Bellerin and Telles
Inter offered a constant threat on the counter-attack and five minutes after the restart Lautaro Martinez saw his curling effort crash off the post.
Nicola Sansone went closest for the hosts but in truth they didn't do enough to trouble Samir Handanovic's goal despite showing plenty of endeavour.
The victory - Inter's ninth in a row - leaves Antonio Conte's side eight points clear at the top of the table having played a game fewer than second-placed AC Milan.
TALKING POINT - Lukaku shines as Inter hold their nerve
After watching both AC Milan and Juventus drop points earlier on Saturday, Inter held their nerve to take complete control of the title race. They may have been far from their best - in fact, they did just enough - but the Nerazzurri showed their title credentials with a gritty performance, scoring with one of their few chances and keeping Bologna out at the opposite end.
Possessing a striker of Lukaku's quality has been key to their success so far this season and the 27-year-old proved the difference once again. He needed just the one chance to get on the scoresheet. Credit has to go to Conte for getting the very best out of the Belgian, and he has reaped the rewards, with Lukaku now hitting 20 goals for two consecutive seasons - eight coming in his last nine games.
MAN OF THE MATCH - Romelu Lukaku (Inter)
Another supreme performance from Lukaku, who was head and shoulders the best player on the pitch.
Bologna: Ravaglia 6, Tomiyasu 5, Danilo 6, Soumaoro 6, Dijks 6, Schouten 8, Dominguez 6, Olsen 7, Soriano 7, Sansone 7, Barrow 6.. subs: Svanberg 5, Vignato 5, Juwara N/A, Orsolini N/A
Inter: Handanovic 6, Skriniar 6, Ranocchia 7, Bastoni 6, Hakimi 5, Barella 7, Brozovic 6, Eriksen 6, Young 6, Lukaku 8, Martinez 7.. subs: Gagliardini 5, Sanchez 5, Darmian 5, Vecino N/A.
31' - GOAL! Bologna 0-1 Inter Milan (Romelu Lukaku): The deadlock is broken! Young feeds Bastoni down the left flank and he delivers a delicious cross into the six-yard box. Lukaku's header is saved by Ravaglia, but it bounces off the post and the Belgian prods home for the easiest of finishes.
45'+3 - Bologna should be level! A corner delivery finds Soriano at the near post, but his first-time effort is over the bar from point-blank range!
51' - Off the post! But here come Inter on the counter-attack - Martinez wraps a shot around the defender and can only watch on as it crashes agonisingly off the post. Barella then fires over on the rebound.
64' - Bologna chance! Sansone finds himself unmarked to meet De Silvestri's cross, he tries a first-time effort that comes off his shin. Handanovic is well positioned to make the save, but that was a good chance for Bologna.
Romelu Lukaku is the seventh player to score 20 or more goals in two consecutive Serie A campaigns with Inter, after Giuseppe Meazza, Amedeo Amadei, Roberto Boninsegna, Mauro Icardi, Stefano Nyers and Christian Vieri.
PSG close to Sergio Ramos transfer - Paper Round
Inter confirm Inzaghi as new boss