The two separate afternoon meetings came as hundreds of civilians and rebels were evacuated from the Syrian city, paving the way for the Moscow and Tehran-backed regime of President Bashar al-Assad to take back control.
"I summoned the Russian and Iranian ambassadors to the Foreign Office in order to convey in person the government's profound concern over the situation in Aleppo," Johnson said in a statement.
"Both Russia and Iran have failed to uphold their obligations under international humanitarian law, specifically by failing to facilitate the delivery of humanitarian aid to civilians during the months when eastern Aleppo was besieged.
"Having inflicted such suffering on the people of eastern Aleppo, Iran and Russia cannot expect praise for allowing some people to escape at the final hour.
"Both countries need to ensure the UN now oversees the evacuation process and that all civilians and non-combatants are properly protected."
In the meetings, Johnson emphasised the importance of protecting civilians, voicing "deep concern" at reports of executions, a Foreign Office spokeswoman said.