Giovani's late, late penalty gave Town a share of the spoils after Marvin Elliott had put the Robins ahead early in the second-half.
The Mexico international converted from the spot four minutes into added on time after Ivan Campo had been brought down in the box.
Elliott's close range finish on 50 minutes looked like being enough to give City the points after Town failed to deal with Michael McIndoe's run into the box but Giovani kept his nerve to score his second goal in Blues' colours since joining on loan from Tottenham last month.
Town made three changes from the team that went down against Doncaster on Saturday. Alex Bruce came in for Campo in the middle of the defence with Alan Quinn and Kevin Lisbie replacing Owen Garvan and Giovani.
Former Blue Gavin Williams lined up for Bristol who had the first effort at goal, Dele Adebola's shot blocked by Bruce, while Jon Walters tested Adriano Basso at the other end.
City were forced into a change on nine minutes with 'keeper Basso limping off to be replaced by Stephen Henderson.
David Wright dragged a shot well wide from 25 yards after linking up with Pablo Counago before Nicky Maynard failed to convert from close range in the clearest opening of the first 20 minutes after McIndoe lost Veliche Shumulikoski in the middle of the park.
Counago showed good strength and then quality with his pass to set up David Norris, whose snap shot was well saved by Henderson.
Izzy Iriekpen robbed Lisbie after the Town striker looked to get in on goal from Walters' pass, Blues then winning a free-kick 25 yards out after Williams caught Norris, Quinn clearing the bar with his effort. McIndoe doing the same thing from a set-piece on the half hour.
Williams failed to test Richard Wright with an overhead kick before Blues were forced into a change on 35 minutes with Campo replacing David Wright, who took a blow on the knee, Bruce moving across to full-back.
Wright, continuing with the skipper's armband in the absence of Gareth McAuley, produced an excellent save from Lee Johnson, Walters then failing to take advantage of Lisbie's cross after a break from Blues as a fairly tame first-half came to an end.
The game came alive four minutes into the second-half with City edging ahead, Elliott nudging the ball past Wright after Town had failed to deal with McIndoe's burst into the box.
Blues' boss Jim Magilton introduced Giovani four minutes later, Walters making way with the Mexico international occupying a right-sided role.
Giovani was straight into the action, linking up with Counago who teed us Lisbie, Iriekpen making a timely block to prevent the shot testing Henderson.
At the other end, Wright had to move smartly to save from Maynard with Bruce on hand to clear the rebound, the Town 'keeper then doing brilliantly to tip over Maynard's 30 yard effort. Elliott heading wide from the corner.
Pim Balkestein picked up the first booking of the game after catching Maynard, Wright dealing with the free-kick while the Town 'keeper's opposite number Henderson had to be alert to keep out Giovani's effort after the loanee from Tottenham had been gifted the ball 20 yards out.
Ivan Sproule replaced Williams midway through the half, Town then going agonisingly close to an equaliser, Counago setting up Norris whose shot was spilt by Henderson, Lisbie failing to convert the rebound.
Connor Wickham replaced Counago for the final 15 minutes, Peter Styvar joining him with Adebola exiting the play.
Five minutes from time Lisbie escaped from his marker and was in on goal until Jamie McCombe caught him, the City skipper picking up a yellow card, Campo's free-kick touched over by Henderson.
Withj only seconds left on the clock though, Campo was brought down inside the box following a corner and Giovani did the rest from the spot, sending Henderson the wrong way to give Blues a point.
Bristol City: Basso (Henderson 9), Orr, McCombe, Iriekpen, Skuse, Williams(Sproule 67), Johnson, Elliott, McIndoe, Adebola (Styvar 79), Maynard. Subs not used: John, Murray.
Town: R.Wright, D.Wright (Campo 35), Bruce, Balkestein, Thatcher, Walters (Giovani 53), Norris, Shumulikoski, Quinn, Lisbie, Counago (Wickham 73). Subs not used: Bialkowski, Garvan. Booked: Balkestein



















