The veteran player has been a free agent since parting ways with the Buccaneers earlier this month.
Makola's contract with Pirates was terminated by the club and he since found a new home after ending his seven-year stay with the Houghton-based side.
The Citizens announced the signing of the 33-year-old player on their official Twitter page.
This comes after City head coach Benni McCarthy had revealed they will attempt to sign Makola as he is a top player.
McCarthy and Makola played together at Pirates before the former announced his retirement from professional football at the end of the 2012/13 season.
The duo has now reunited at City and Makola is expected to fill the void left by another former Pirates player at City, Teko Modise.
Modise announced his retirement from professional football at the end of last season.
The Citizens will be hoping Makola helps them clinch their maiden Premier Soccer League (PSL) title in the new 2019/20 season.
aNnOuNcE mAkOLa pic.twitter.com/vN5FWu0wAJ— Cape Town City FC (@CapeTownCityFC) July 30, 2019