Inter had lost five of the previous 10 matches in all competitions but Turkey midfielder Calhanoglu ended the crisis talk when he lashed in the only goal of the game on the stroke of half-time.
“It was very important today for us, to show something to our fans who are always with us. We showed that we deserved it,” said Calhanoglu.
Barcelona boss Xavi Hernandez, however, was left fuming after two key handball decisions went against his team.
The first saw an equaliser ruled out following a pitch review by referee Slavko Vincic for Ansu Fati’s handball just before the ball dropped to Pedri to tuck home.
Barca were then denied a stoppage time penalty after VAR officials ruled that Denzel Dumfries did not commit a handball offence despite touching the ball in a very similar way to Fati.
“If you ask me I’m outraged... the word is outrage because it makes no sense, it’s an injustice,” Xavi told reporters.
“I think it’s an injustice, I just can’t hide it.”
Jurgen Klopp’s Liverpool went into their Group A game against the Scottish champions on the back of just three wins in their first nine Premier League and Champions League games of the season.
But they settled quickly when Trent Alexander-Arnold produced a sublime free-kick to put the home side ahead after just seven minutes.
Rangers’ 40-year-old goalkeeper Allan McGregor produced some fine saves, including four to deny Darwin Nunez his first goal for Liverpool, to keep his side in the hunt at half-time.
Seven minutes into the second half, however, Leon King’s challenge caught the legs of Luis Díaz to give away a penalty.
Mohamed Salah stepped up and struck the ball down the middle as McGregor was unable to repeat the penalty-saving heroics he produced against Napoli.
“It was exactly what we needed. It was a super, solid performance,” said Klopp, who switched from his usual 4-3-3 formation to a 4-2-3-1.
“Sometimes you have to change things.”
Napoli stay top of Group A after another impressive victory, coming from behind to hammer Ajax 6-1 to take their tally of goals to 13 from three matches.
Mohammed Kudus put the home side ahead in the ninth minute but Luciano Spalletti’s side bounced back with first-half goals from Giacomo Raspadori, Giovanni Di Lorenzo and Piotr Zielinski.
Raspadori added his second two minutes after the restart and Khvicha Kvaratskhelia added the fifth just after the hour.
Ajax’s night was made worse when captain Dusan Tadic was sent off after collecting a second yellow card and Giovanni Simeone closed out the win.
Bayern moved to the edge of qualification with a third successive win, thrashing Viktoria Plzen 5-0 in Group C.
“We were calm, we dominated and we were in total control,” said Bayern captain and Manuel Neuer.
“When everything is going well, we’re almost unstoppable.”
German international Leroy Sane struck twice, opening the scoring from distance after seven minutes and adding a second five minutes after the break.
Between Sane’s two goals, Serge Gnabry added a second on 13 minutes before Sadio Mane posted his first Champions League goal for Bayern with number three after 21 minutes.
Substitute Eric Maxim Choupo-Moting came off the bench at half time and added the fifth just before the hour mark.
Club Brugge also claimed a third successive win to continue their surprise charge towards the next round.
Kamal Sowah and Ferran Jutgla were on target as the Belgian side made short work of Atletico Madrid in Group B.
Atletico had their chances with Antoine Griezmann crashing a penalty off the crossbar. They also had a goal ruled out for offside which added to their frustration.
“It’s a very tight group and we will have to fight because we won’t get anything for free,” said Atletico captain Koke.
Club Brugge top Group B, three points ahead of the other three teams after Porto beat Bayern Leverkusen 2-0 with second half goals from Zaidu and Galeno.
Sporting Lisbon’s march in Group D came to a shuddering halt in Marseille where the home side came from a goal down to win 4-1 and get their first win under their belt.
Lisbon still top the group with six points, two ahead of Eintracht Frankfurt and Tottenham Hotspur who played out a goalless draw in Germany.