"The Peruvian government, in accordance with its historical tradition and commitment to international law, has decided to grant asylum to the Venezuelan citizen Manuel Rosales," Belaunde said in the Peruvian congress.
Venezuela's foreign ministry said that Peru's decision was a "mockery of international law, a strong blow to the fight against corruption and an offense to the people of Venezuela."
Venezuela would withdraw its envoy, halt proceedings to allow Peru's recently- named ambassador to take office and evaluate its relations with Peru, a statement from the ministry said on Monday.
Interpol said on Friday it had issued an international wanted persons notice for Rosales, following a request from Venezuela.
The opposition leader had lashed out at what he called the "totalitarian" Chavez government in an interview with Venezuelan TV in Peru last Wednesday.
He later said he regretted his statements and promised he would refrain from political attacks in Peru if granted asylum.
Venezuelan authorities say that Rosales is unable to explain $60,000 in income and accuse him of embezzling the funds and avoiding attempts to bring him to justice.
Luisa Ortega, the Venezuelan attorney general, said last week that a Caracas court had granted a state prosecutor's request to freeze property held by Rosales to ensure the state could recover any allegedly embezzled money.
She also urged Rosales to come out of hiding and face justice.
However, the opposition says Chavez is using the legal system to crack down on opposition leaders.
In October, on the campaign trail for regional elections, Chavez accused Rosales of plotting to assassinate him and threatened to have him jailed.
In February, Chavez won a referendum permitting him to run for office indefinitely and has since stripped control of ports and roads from opposition allies.