The victory moves City to 45 points from 23 games, one ahead of Bidvest Wits, though they have played two games more.
Goals from Thabo Nododa, Lehlohonolo Majoro, Judas Moseamedi and Aubrey Ngoma gave them the win, while Enocent Mkhabela and Henrico Botes netted for the home side.
After a cagey start it was Stars who should have taken the lead when Kobamelo Kodisang was fouled in the box, but goalkeeper Mbomgeni Mzimela saw his penalty saved by opposite number Shu-Aib Walters.
And just minutes later it was City who took the lead when young midfielder Nodada scored his first goal for the club in his first start of 2017.
City extended their advantage through Majoro three minutes before halftime after he had been a constant thorn in the side of Stars with his breaks on the counter-attack.
But Stars did manage to pull a goal back before the break through Mkhabela to give them something to cheer going into halftime.
Stars did most of the running in the opening 20 minutes of the second half, but it was the visitors who scored next as Moseamedi found the back of the net.
Any hopes of a home comeback were quashed with 15 minutes remaining when Ngoma added a fourth for the visitors.
Botes grabbed a consolation goal at the death, but it was another comprehensive victory for City as they continue their unlikely title charge.