Peruvian police on Monday fired tear gas and clashed with protesters.
They were marching against the pardon of ailing ex-president Alberto Fujimori, who was serving a 25-year sentence for human rights abuses.
Current President Pedro Pablo Kuczynski ordered the pardon of Fujimori and seven other prisoners on Sunday on humanitarian grounds, once again placing himself in the middle of a political crisis just days after he avoided impeachment.
On Monday, protesters called for the departure from office of Kuczynski, who later defended his decision in a televised message to the nation.
"Out, out PPK! Out, out PPK!" angry demonstrators chanted in reference to the president, who had promised during his electoral campaign the previous year that he would not free Fujimori.
"Fujimori, murderer and thief. No to the pardon!" read one of the signs held by the protesters, some of whom also carried a giant Peruvian flag.
Relatives of victims of Fujimori's brutal rule took part in the march.
"We are here as relatives to reject this illegal pardon, because it does not correspond to the gravity of the crimes," Gisella Ortiz, representative of a group of families of victims, told reporters.
A strong force of anti-riot police moved through the streets of Lima and sought to prevent the demonstrators from heading to the clinic where Fujimori is hospitalized, firing tear gas canisters and erecting barricades to disperse them.
A cameraman from the state television station TV Peru was beaten by police and was being treated in hospital, the station's president Hugo Coya wrote on Twitter.
On Monday night, Kuczynski defended his decision to pardon Fujimori.
"I am convinced that those of us who feel democratic should not allow Alberto Fujimori to die in prison, because justice is not revenge," Kuczynski said.
He had earlier said his decision to grant the pardon relied on a medical evaluation that Fujimori suffered a progressive and incurable illness.