Both sides started well, with a number of early chances falling the way of the hosts. Siboniso Gaxa with a stand-out ball that flashed across the face of goal but failed to pick out a team mate in the area.
Roland Putsche put City ahead early on with a well struck volley from inside the area, Aubrey Ngoma the provider from out wide.
The Clever Boys bounced back well, applying pressure and pinning the visitors deep in their half. The pressure almost told when Rodgers headed just over the crossbar.
Bongani Khumalo leveled matters when his diving header met Elias Pelembe’s corner to find the back of the net.
The remainder of the first half was a tight and tactical affair. The sides went into the break locked at 1-1.
Two goal-keeping blunders saw the sides taking full advantage. First, Darren Keet rushed off his line to sweep up a loose ball, his mis-kick allowing Lebogang Manyama in to tap home and put Eric Tinkler’s side back in the lead.
Two minutes later Walters brought down Ngele in the area and conceded a penalty. Rodgers stepped up and converted his effort.
Gavin Hunt’s men dictated the pace and controlled the ball for much of the remainder of the match but were unable to convert their dominance into a telling goal.
Manyama silenced the Bidvest Stadium in the fourth minute of extra time when he headed home from close range as Cape Town City countered with intent.
The win sees City extend their lead at the top of the table to four points, but Bidvest Wits will remain positive with two games in hand.