"The driver was taking passengers in the car. When the car approached the metro stop, an explosion went off ... A grenade exploded," the source said.
All the dead were inside the car, the source said.
Vladimir Markin, a federal investigative committee spokesman, said in a statement that a murder investigation had been opened, indicating authorities do not suspect terrorism.
Markin did not say what caused the blast.
The Udelnaya station is in the northern suburbs of the city north of the Neva river, five stops from the centre of Saint Petersburg, Russia's second largest city.
A Russian news agency quoted an unnamed official as saying that the explosion took place about 50 metres from the entrance of the metro station.
It remained open even after the blast.
The driver reportedly survived the blast and is in a critical condition in hospital and the dead were a male and female passenger as well as the child.
There was no further information over the identity of the dead.