Pistorius' family members and supporters shouted "Yes!" when Chief Magistrate Desmond Nair made his decision after a near two-hour explanation of his ruling.
Nair set the bail at 1 million rand ($113,000), with $11,300 in cash and proof that the rest is available. The magistrate said Pistorius must hand over his passports and also turn in any other guns that he owns. Pistorius also cannot leave the district of Pretoria without the permission of his probation officer, Nair said.
The double-amputee Olympian's next court appearance was set for June 4.
The magistrate also ruled that he could not return to his home, where the killing of Steenkamp took place.
Nair made the ruling after four days of arguments from prosecution and defence in Pistorius' bail hearing.
Nair said Pistorius' affidavit, in which he gave his version of the events of the shooting on morning of Feb. 14 in a sworn statement, had helped his application for bail in Pretoria Magistrate's Court.
"That reaching out in the affidavit, the way that he did, placing it before the court," Nair said. "I come to the conclusion that the accused has made a case to be released on bail."
Pistorius shot and killed Steenkamp in the predawn hours of Feb. 14. The athlete says he shot his girlfriend accidentally believing she was an intruder in his house. Prosecutors say he intended to kill Steenkamp and charged him with premeditated murder, saying the shooting followed a loud argument between the two.