The man suspected of killing 11 people in a metro train in the Russian city of St Petersburg on Monday, is in his early 20s and from Central Asia, media reports said.

At least 45 people were injured in the explosion between two underground stations on Monday afternoon. Another explosive device was found and made safe at a station nearby, the BBC reported.

The Interfax and Tass news agencies said the suspect had been identified, but there were conflicting reports as to whether he was a suicide bomber.

Russian investigators have described it as a suspected "act of terror" but they have given few details. No group has said it was responsible.

Authorities in Saint Petersburg have declared three days of mourning for the victims.

President Vladimir Putin, who was in the city when the blast occurred, visited the scene on Monday evening and laid flowers at a makeshift shrine.

Prime Minister Dmitry Medvedev said in a Facebook post that the explosion was a "terrorist attack".

World leaders rallied behind Russia in condemning the blast. US President Donald Trump described it as "a terrible thing" while German Chancellor Angela Merkel said it was a "barbaric act", the BBC report said.

EU Foreign Policy Chief Federica Mogherini said Europe's thoughts were with the Russian people.

First images from the scene showed a train at Tekhnologichesky Institut station with a hole blown in its side and wounded passengers on the platform.

Initial reports suggested there had been two explosions, one each at Sennaya Ploshchad and Tekhnologichesky Institut stations.

But the Russian National Anti-Terrorist Committee later confirmed there were only one explosion, between the two stations, at about 2.30 p.m.