Manchester City secured top spot in Group A after coming from behind in their Europa League match to take a point against Juventus in Turin.
Jo, the only senior striker in the team, rose to the challenge to cancel out the opening goal from Niccolo Giannetti.
The Brazilian kept a cool head in the 77th minute to sweep the ball home at the back post following a cross from Adam Johnson.
City manager Roberto Mancini made nine changes to his side, with only Jerome Boateng and Jo retaining their places following the Barclays Premier League victory over West Ham at the weekend. Micah Richards was given the captain's armband.
Jo was partnered up front by Alex Nimely, the 19-year-old handed his first start by Mancini.
City almost took the lead inside two minutes when Richards raced forward and drove in a cross only for Jo to see his effort blocked.
Juventus again found themselves on the back foot two minutes later when James Milner unsuccessfully appealed for a penalty. Milner clipped a cross into the area and Alessandro Del Piero raised his arm but referee Istvan Vad allowed play to continue.
Jo again came close before Juventus responded in the 11th minute when Del Piero broke into the area. Young defender Dedryck Boyata was perfectly positioned and made the clearance.
The home side were anxious to finish the campaign with a victory after five successive draws and Del Piero cut inside in the 15th minute but his finish was poor, the ball going high over the crossbar.
It was an open game with City's 1,500 travelling fans in good voice in the opening stages of the game.
However, with Juventus already eliminated the Stadio Olimpico was deserted with only a few thousand fans turning up.
The game was becoming scrappy - there were passes going astray on both sides on a freezing night.
City, however, were looking the more threatening going forward with both Johnson and Milner seeing plenty of the ball.
Nimely was then left hobbling, but recovered quickly after brief treatment in this rare appearance in the first team.
Mancini then saw City go behind in the 43rd minute with a goal out of nothing. Del Piero delivered a cross to the back post and Giannetti steered it home after getting to the ball before Boyata.
That goal put Juventus on course for their first victory in the group and left City with much work to do in the second half to turn things around.
City pushed forward at the start of the second half and Jo flicked in a header that went narrowly wide of the post in the 46th minute.
Four minutes later Jo found the net after latching onto a pass from Johnson only for his effort to be ruled out for offside.
This was a better spell by City and Jo found Johnson in the area with a good cross. The England winger cut inside only to see his effort blocked by Zdenek Grygera.
Juventus continued to look dangerous on the counter-attack and Milos Krasic whipped in a shot after 56 minutes that Shay Given did well to push over the crossbar.
Back came City and they had another appeal for a penalty turned down in the 58th minute when Giorgio Chiellini appeared to handle a shot from Shaun Wright-Phillips.
Mancini made his first change three minutes later when Pablo Zabaleta replaced Nimely.
City were anxious to get the equaliser and Milner raced forward in the 67th minute but sent his effort wide of the target from a good position.
City created another half-chance in the 75th minute when Johnson skipped to the byline and picked out Wright-Phillips. He attempted an ambitious bicycle kick that went high over the crossbar.
The equaliser eventually came two minutes later, with Johnson supplying the pass and Jo tucking it away at the back post. It was only the Brazilian's second goal in the competition this season, and a welcome one at that.
Then Johnson saw a free-kick go narrowly wide of the post in the 87th minute after Milner had been blocked by Mohamed Sissoko.