Brazil's presidential front-runner, Jair Bolsonaro, lost 40% of his blood after he was stabbed on Thursday, hospital officials say.
Doctors say he suffered a deep and life-threatening wound in his intestines, but is now recovering well.
His son, Flavio Bolsonaro, said it was unlikely that his father would be able to return to campaigning before next month's election.
He said his father was still weak and had trouble speaking, adding: "He cannot go to the streets, but we can."
The controversial politician has won supporters for his tough stance on crime, but has outraged many in Brazil with racist and homophobic comments.
Polls suggest he will get the most votes in the first round of the October presidential elections if former President Luis Inácio Lula da Silva remains blocked from standing, but is unlikely to win a run-off.