The explosion in a McDonald's restaurant in the downtown of St. Petersburg at 8.30 p.m. Moscow time (5.30 p.m. GMT) injured six people, including a German national.
"A preliminary expert examination revealed that a homemade explosive device was stuffed with preformed fragments," a police officer said.
The city prosecutor, Sergei Zaitsev, said the bomb had gone off under a table and added that the restaurant managers had received no preliminary threats. He said four victims had already been released from hospital.
The suspended ceiling collapsed in the restaurant as a result of the explosion, some windows cracked but did not shatter. A team of investigators is continuing work at the scene, treating the incident as a murder attempt case.