The Cheetahs bounced back from last weekend's loss to the Lions by beating the Bulls 34-28 at Free State Stadium on Saturday.
It was an impressive showing played with tempo by the home side as they condemned the Bulls to successive losses to start the season.
The hosts' tries came from centre Clinton Swart, flanker Oupa Mohoje (2) and second-row Justin Basson. Lock Jason Jenkins, scrum-half Piet van Zyl and wing Jamba Ulengo went over for the Bulls' responses in defeat.
There was a frantic opening in Bloemfontein as slick tries from Cheetahs centre Swart and flanker Mohoje moved them 14-5 in front, with second-row Jenkins having crossed for a Bulls try in between those scores. After 20 minutes it was the expansive Cheetahs dominating.
However Bulls fly-half Handré Pollard reduced the arrears to 14-8 and he was at it again on 24 minutes to cut the gap to three points.
Pollard missed the chance to level on 28 minutes when he pushed a penalty from distance to the right and the Cheetahs made them pay in the aftermath, with lock Basson scoring from a five-metre line-out move that saw Ryno Benjamin catch the throw. Zeilinga made it 21-11.
The Cheetahs then moved up another gear before the break with a line break and well-timed pass from Uzair Cassiem setting up Mohoje for his brace and his Cheetahs' fourth. Zeilinga slotted the extras but it would be the Bulls having the last say of the half with a Pollard penalty.
The first score in the second 40 was always going to be crucial so when Zeilinga knocked over a penalty on 49 minutes to make it 31-14 the Cheetahs would've been delighted to take the match beyond the two-score margin. They may however have wanted more from their foray.
Back came the Bulls though in a sustained period of pressure in the Cheetahs' 22 but errors cost them points as the hosts kept their line intact. It was impressive defence from the Bloemfontein side in what was incredibly becoming a more physical contest as the game wore on.
Just when it seemed the Cheetahs had possibly done enough to be able to seal the win, tries from replacement scrum-half Van Zyl and wing Ulengo within three minutes of each other cut the gap to just three points at 31-28. Tian Schoeman's conversions were both successful.
But crucially a penalty from Zeilinga on 74 minutes took the Cheetahs into a six-point lead and they managed to hold on for the points.
Tries: Swart, Mohoje 2, Basson
Cons: Zeilinga 4
Pens: Zeilinga 2
Tries: Jenkins, Van Zyl, Ulengo
Cons: Schoeman 2
Pens: Pollard 3
Cheetahs: 15 Clayton Blommetjies, 14 Ryno Benjamin, 13 Nico Lee, 12 Clinton Swart, 11 Raymond Rhule, 10 Fred Zeilinga, 9 Tian Meyer, 8 Paul Schoeman, 7 Oupa Mohoje, 6 Uzair Cassiem, 5 Reniel Hugo, 4 Justin Basson, 3 Johan Coetzee, 2 Torsten van Jaarsveld (c), 1 Tshego Nche
Replacements: 16 Elandré Huggett, 17 Charles Marais, 18 Danie Mienie, 19 Francois Uys, 20 Niell Jordaan, 21 Zee Mkhabela, 22 Niel Marais, 23 Ruan van Rensburg
Bulls: 15 Jesse Kriel, 14 Travis Ismaiel, 13 Burger Odendaal, 12 Dries Swanepoel, 11 Jamba Ulengo, 10 Handré Pollard (c), 9 Rudy Paige, 8 Hanro Liebenberg, 7 Jacques Potgieter, 6 Nick de Jager, 5 RG Snyman, 4 Jason Jenkins, 3 Trevor Nyakane, 2 Jaco Visagie, 1 Lizo Gqoboka
Replacements: 16 Edgar Marutlulle, 17 Pierre Schoeman, 18 Jacobie Adriaanse, 19 Renaldo Bothma, 20 Ruan Steenkamp, 21 Piet van Zyl, 22 Tian Schoeman, 23 Warrick Gelant
Referee: Shuhei Kubo (Japan)
Assistant Referees: AJ Jacobs (South Africa), Lourens van der Merwe (South Africa)
TMO: Marius Jonker (South Africa)