The British government said it had taken the decision "in light of Bain's responsibility as a global brand for its South Africa division and the company's failure to clarify the facts and circumstances of its involvement."
The punishment stems from a four-year probe into graft under South Africa's former President Jacob Zuma.
The investigation, led by Chief Justice Raymond Zondo, determined that billions of dollars in publicly owned assets were systematically siphoned off - a process known locally as "state capture."
The Zondo report said that Bain worked in "collusion" with Zuma, who it said was directly involved in a scheme to undermine the tax service.
Bain was hired by the South African government in 2015-16 on a contract to overhaul the country's revenue service.
The initial contract was to last for six weeks and was worth around $150,000. But eventually it ran for more than two years, at a cost of more than $9 million and extended into many other sectors.
Bain said it was "disappointed and surprised" by the decision.
It said it would respond to address "inaccuracies" in the minister's notification and might then "consider other options for review of the decision."
According to the Financial Times, which reported on the ban late Tuesday, Bain had had a total of 63 million pounds (around $75 million) in British government contracts since 2018, two-thirds of which were based on Brexit-related work.
Bain has previously denied that it intentionally or willfully harmed the tax agency or supported state capture.