Pep Guardiola called it “fun” but his body language throughout a frenetic contest betrayed him. The Manchester City manager was a model of fashionable fury, punching the air and pacing up and down in his trendy sneakers as his makeshift team toiled against Celtic. The only fun to be had belonged to Patrick Roberts and Brendan Rodgers.

So much for a dead-rubber. Roberts, the 19-year-old on an 18-month loan from City, swept Celtic into an early and merited lead against his parent club. Kelechi Iheanacho replied swiftly with an equally impressive finish. Both teams pressed for victory until the final whistle, there was fighting in the crowd and, when the anger had dissipated and the game had finished, Rodgers could take satisfaction from a performance that was much closer to his ideals for Celtic than City were to Guardiola’s. A makeshift, disjointed City side admittedly.

“We played really well against a good team,” said Guardiola. “The experienced players helped the young players a lot. It was a good experience for them – they deserved to play because they trained well, their behaviour is always perfect and I’m so happy to give them the opportunity to play in the Champions League. The game was good, both teams tried to attack, it was fun. It was a pleasure to play against Celtic Glasgow.” As with his description of City’s opponents, Guardiola’s words did not tally precisely with his team’s performance or his demonstrative frustrations with it.

Rodgers, by contrast, had every reason to savour Celtic’s development on the European stage. “Apart from the first game our performance level has been very good,” he said. “We competed against two of the superpowers of European football and we haven’t been beaten by Manchester City. Arguably we could have won both games. I am absolutely proud of the team.”

City and Celtic knew their place before kick-off, second and bottom of the group respectively, but the finale was refreshingly full of energy, chaotic defending and opportunity from the first whistle. The opening was reminiscent of the enthralling 3-3 draw in Glasgow when City arrived boasting a 100% record from their first 10 games under Guardiola but departed with defensive concerns that have not been adequately rectified. They have won four of 14 matches since that first encounter with the Scottish champions and were exposed defensively once again as they struggled to adjust to Guardiola’s switch to a three-man rearguard. It is now seven games since City last kept a clean sheet.

The City manager made nine changes to the team beaten by Chelsea on Saturday, deploying Pablo Maffeo and Leroy Sané as wing-backs and pushing Nolito up in support of Iheanacho. It was initially a mess. Celtic revelled in the spaces outside City’s defence as well as the uncertainty throughout the home ranks. With only three minutes gone Fernando had played Moussa Dembélé in on the City goal, forcing Willy Caballero to make an important tackle and save the follow-up from Tom Rogic. Seconds later, with Maffeo clearly bewildered by Guardiola’s instruction to push deeper into the Celtic half as Caballero took a goal kick, the visitors were ahead.

Roberts was making his first start at the Etihad since signing for City in an £11m deal from Fulham in July 2015. The 19-year-old, who made only three brief appearances for City before joining Celtic in January, was intent on reminding his employers of the potential at their disposal and enjoyed a fine game on the right wing. The England Under-20 international punished the hosts when Caballero played a risky clearance to Sané, who slipped as he attempted to keep the ball in play. Roberts took over, cutting inside three weak challenges in the penalty area and sweeping a fine shot into the far corner.

The boisterous travelling hordes celebrated manically and with a smoke bomb that, along with City’s customary jeering of the Champions League anthem and the later crowd trouble, may result in a reprimand from Uefa. Guardiola’s problems rested entirely on the pitch but his team drew level from their first moment of quality, Iheanacho’s pace punishing the visitors’ high back line. Ilkay Gündogan picked out Nolito with a cross-field ball, the Spaniard slid an inviting pass behind Jozo Simunovic and Iheanacho sprinted away from the defender to beat Craig Gordon with an emphatic finish into the roof of the net.

Dembélé squandered a glorious chance to restore Celtic’s advantage when he found the side-netting having rounded Caballero. Gordon saved well from Iheanacho’s flick and the striker, now with greater responsibility with Sergio Agüero banned for the next four games, side-footed wide from Pablo Zabaleta’s inviting pass. The second half could not match the frenzy of the first, understandably, but Nolito thought he had edged City ahead from Jesús Navas’s low cross only to be flagged offside. The Celtic substitutes Leigh Griffiths and Gary Mackay-Steven both went close in the final stages and Rodgers, despite bidding farewell to this season’s Champions League, departed the more contented manager.