Writing on Twitter, the city’s Mayor Sergey Sobyanin explained that the shooter had been detained.
"I offer my condolences to the victims and the families of the victims," he wrote. "Doctors are doing their best to help the wounded."
The incident took place at a multi-functional public service center in the south-east of the city, in the Ryazansky district, around 12km from Red Square.
According to a police source for Moscow daily newspaper RBK, the shooter is 45-year-old veteran Sergei Glazov, a resident of Moscow.
Also citing an anonymous police source, news agency TASS reported that the shooting following a conflict over masking.
“The visitor took out a weapon and started shooting... At the moment it is known that none of the multi-functional center employees had time to press the panic button," TASS quoted its source as saying.
According to the Ministry of Internal Affairs, the two victims are an employee and a visitor. Of those injured, one is a 10 year-old child and the other two are adults.
"The detainee has been taken to the police department," confirmed police spokeswoman Irina Volk.