The ceasefire begins at 12pm local time (0800GMT).
The breakthrough came after some 10 hours of talks in Moscow, in the early hours of Saturday morning, after nearly two weeks of fierce fighting in the disputed territory, Aljazeera reported.
Russia’s top diplomat said the Red Cross would act as an intermediary in the humanitarian operation.
Lavrov did not provide details on the talks but said the Organization for Security and Co-operation in Europe’s (OSCE) Minsk Group would mediate.
According to Aljazeera’s correspondent in Moscow, the agreement was for a “humanitarian ceasefire”.
Karabakh is internationally recognized as part of Azerbaijan, but it has been under Armenia's control since the early 1990s, when the territory declared secession which led to a bloody war.
The recent clashes between Azerbaijan and Armenian forces – the worst in decades – erupted on September 27, with both Yerevan and Baku accusing each other of provocation.
On Friday, the two sides fought new clashes, with Azerbaijan's defense ministry saying there had been fierce fighting during the night along the line of contact that divides the two sides in Karabakh.
Fighting has continued despite the start of a peace drive by the United States, France and Russia.
At least 300 people have been reported killed in the fighting since September 27 and is the most serious in the territory since clashes in 2016 left dozens dead.
MR/PR