Twenty Indian soldiers were killed in the clash in the Galwan Valley. India has said that both sides suffered losses during the fighting.
In a series of tweets, Mr Zhao said the Galwan Valley was on the Chinese side of the Line of Actual Control (LAC), the poorly demarcated border between the two nuclear-armed powers.
He said the clash occurred at a time when tension had been easing after India demolished infrastructure it had built on the Chinese side of the LAC in May and withdrew personnel, following an agreement between Chinese and Indian officers.
But on 15 June Indian troops "once again crossed the Line of Actual Control for deliberate provocation when the situation in the Galwan Valley was already easing", Mr Zhao said.
"India's front-line troops even violently attacked the Chinese officers and soldiers who went there for negotiation, thus triggering fierce physical conflicts and causing casualties," he said.
India has been building "roads, bridges and other facilities" at the LAC in Galwan Valley since April, Mr Zhao said.
In a televised statement on Friday, Mr Modi said there had been no incursion into Indian territory.
"Nobody has intruded into our border, neither is anybody there now, nor have our posts been captured," he said.
India's armed forces had been "given a free hand to take all necessary steps" to protect Indian territory, he added.
"The entire country is hurt and angry at the steps taken by China," he said, adding: "India wants peace and friendship, but upholding sovereignty is foremost."
His government had previously blamed China for the clash, with the foreign ministry releasing a statement on Wednesday saying it had been sparked after "the Chinese side sought to erect a structure in Galwan valley on our side of the LAC".