It's the Blues' second win of the season and lifts them to third in the New Zealand conference, four points behind the Chiefs and five behind the Crusaders.
"It's always hard to come to Africa. Coming to Loftus against a Bulls side against the wall, they pretty much fought to the end. We had to work hard for it and I'm pretty pleased," Blues captain Patrick Tuipulotu told local broadcaster Supersport.
It's the Blues' first win in Pretoria in eight years.
"We can't look to the past too much. We know it's been a disappointing past [but] we can only focus on what we do now," Tuipulotu said.
"The group of men we have here, we're hard workers and there's a good mix in amongst that group and I think we're in good stead."
The Bulls led early courtesy of two penalties from Morne Steyn before the Blues capitalised on their opposition being reduced to 13 men to take an 8-6 advantage thanks to a Black penalty and a Mark Telea try.
But they then lost a player of their own to the sin-bin in the shadow of halftime, with halfback Jonathan Ruru yellow carded and Steyn scored a try to put the Bulls up 11-8 at the break.
He added a third penalty early in the second-half to extend the hosts' advantage before the Blues scored two tries in five minutes to take the lead back.
Flanker Tom Robinson scored the first in the 53 minute, converted by Black, before fullback Stephen Perofeta was the benefactor of some quality aerial work from replacement winger Matt Duffie to give the visitors a 20-14 lead.
The Blues then lost another player, with Hoskins Sotutu yellow carded in the 69th minute.
The Bulls took advantage two minutes later to score a converted try and claim a slender 21-20 advantage.
But they then conceded a penalty out in front of the posts, giving Black the opportunity and he held his nerve.
The Blues will head to Cape Town next week to face the Stormers, who sit atop the South African conference with a perfect four from four record.