Cape Town - Celtic marked the end of their 2016/17 European campaign with an entertaining 1-1 draw against Manchester City at the Etihad Stadium on Tuesday.
The Scottish champions bossed the early moments of this dead-rubber match with some good possession before shocking the home fans with an early lead.
A poor touch from Leroy Sane, as he tried to control a difficult ball from City goalkeeper Willy Caballero, was pounced on by Mikael Lustig who released Roberts down the right flank. The young winger then danced past Gael Clichy into the box where he powered a fierce drive into the bottom left corner of the net.
But it took just moments for Pep Guardiola's side to equalise as Iheanacho fired a powerful left-footed shot past Craig Gordon after being released through on goal by Nolito, who had picked up a good Ilkay Gundogan pass.
City could have been two-up shortly afterwards, but this time Iheanacho shot just wide after a lightning-quick counter as Gundogan released Pablo Zabaleta, who fired in a superb ball to the Nigerian striker.
The Bhoys, though, were full of running and were causing problems down the flanks for the Citizens full-backs.
Moussa Dembele had a real sight on goal in the 18th minute but he only succeeded in hitting the side-netting after his initial shot came back off Caballero. James Forrest had made a great run down the left flank after dispossessing Pablo Maffeo to create the opportunity.
Emilio Izaguirre headed clear a good Sane cross from the left under pressure from Iheanacho before Erik Sviatchenko nearly allowed Nolito in but recovered to block the dangerous cross into the box.
Dembele then headed into Caballero's arms on 28 minutes following a good Stuart Armstrong cross before Rogic shot wide after some more good approach play from the visitors.
Gordon pulled off a good one-handed save to deny an improvised effort from Iheanacho after a low cross had arrived just behind him from Bacary Sagna. The loose ball subsequently broke to Nolito but Izaguirre did well to make the block.
Roberts then had a good call for a penalty waved away at the end of an enthralling first half after being pulled back in the box by Clichy.
City kicked off the second period with a swift attack down the left, but Sviatchenko was well placed to reach Sane's cross before Iheanacho.
Lustig eased past Glichy into the box on the hour mark and with no pass opening up he opted to shoot, but got his angles horribly wrong as the effort flew well wide.
Second-half substitute Gary Mackay-Steven failed to test Caballero with a curled effort moments later as Nolito saw his goal on 66 minutes ruled out for offside after smashing home a drilled pass from City sub Jesus Navas.
Leigh Griffiths, on for Dembele just minutes earlier, fired just wide after some good work from Mackay-Steven down the left to make some space for the pass.
With City having taken their foot off the gas for a period of the second half, they were looking to end strongly, but found themselves thwarted on more than one occasion by Sviatchenko and Jozo Simunovic.
Mackay-Steven really should have give Celtic the lead on 83 minutes, though, after finding himself in space to the left of goal, but his effort was easily collected by Caballero.
City had their own soft appeals for a penalty turned down in the dying minutes after the ball struck Simunovic on the arm, but there wasn't much of a protest as both teams appeared happy to settle for a draw with the clock winding down.