Ali Mashkour had just left the Al Hussaini centre in Cricklewood, northwest London, with hundreds of other Muslim worshippers late on Tuesday.
Mr Mashkour, who used to work for the Metropolitan Police, told Sky News a car turned unexpectedly and drove directly towards him and an eight-year-old boy who was standing beside him.
He said: “I was standing right here when the vehicle turned towards me.
“Naturally, I don’t know why, I just looked around and there was this young boy, don’t know who he was, there were lots of people walking around, I literally just picked him up from his shoulders and flung him across to the other side and then I moved out of the way.”
After the car missed them it mounted the pavement and struck a man.
Mr Mashkour described what he saw: “He was three metres away from me.
“The vehicle hit him, he flew up into the air and then went back down.
“The top half of his body hit the bonnet and then he was dragged across these gates.
“Then the driver decide to go back onto the road and onto the pavement again to get more civilians.”
He added: “I had the father hugging me and kissing me, thanking me for saving his eldest son’s life.
“Which is quite emotional but I believe it’s something anyone would do.”
Police are investigating whether the incident outside the mosque was an anti-Muslim attack.
Officers were called to reports a car had collided with three people at around 12.35am on Wednesday.
Scotland Yard said the driver failed to stop and officers are “keeping an open mind as to the cause of the collision”.
Two men in their 20s suffered minor injuries and a man in his 50s sustained a serious leg injury.
Police said that just after midnight the mosque’s security “were informed of occupants in a car behaving anti-socially, drinking and allegedly using drugs”.
They added that three men and a woman, all in their 20s, were asked to leave the private car park.
Metropolitan Police Chief Superintendent Simon Rose said: “The people who had been challenged then drove at members of the community in a car.
“The car mounted the pavement twice. The vehicle then drove off and was involved in a fail-to-stop accident.
“We were extremely fortunate there was no loss of life.
“It is being dealt with as an Islamophobic hate crime and it is being dealt with as a racist hate crime.”