The right-hander made 146 (274 balls, 19 fours 4 sixes) as the visitors declared their first innings on 525/7 - their highest ever franchise-era total against their Cape rivals in the fixture.
The hosts had fought back to reach 94/0 by the close, but their slow scoring - they faced 46 overs - meant the Warriors were still in the driving seat.
The men from the Eastern Cape had started the day on 342/4 and Ackermann and Somila Seyibokwe extended their sixth-wicket partnership to 75. The former eventually fell for his highest ever first-class score - beating the 144 he scored for Eastern Province against Easterns in 2013/14. Seyibokwe went on to make 69 (137 balls, 10 fours), while Clyde Fortuin contributed 43 as the Warriors declared midway through the day.
The Cobras opening pair of Omphile Ramela and Andrew Puttick then soaked up all the pressure in reaching the close 431 runs adrift. The captain was unbeaten on 55 (127 balls, 11 fours), while veteran Puttick had faced 151 balls for his 35.
Warriors’ skipper Simon Harmer had sent down 18 of the overs, 14 of which were maidens with a mere 10 runs conceded.