Cantonal police said 15 fire crews and five ambulances arrived at 9 Rue des Contamines when the alarm was raised around 2am on Friday morning.
Newspaper Tribune de Genève reported that 50 firefighters were involved in the incident.
“On our arrival we discovered an apartment entirely on fire on the first floor,” fire captain Marc Feuardent told the paper.
Fire crews evacuated 43 people from all seven storeys of the building and the fire was brought under control 40 minutes later.
Paramedics transported three seriously injured people by helicopter to the burns centre at Lausanne’s CHUV hospital, while five others were also badly hurt.
In addition, emergency services treated 11 people for smoke inhalation and 28 others for various injuries, said Christophe Fortis, spokesman for Geneva cantonal police.
A local resident told Tribune de Genève: “We were woken by the noise of windows breaking. The fire was very violent. People above it were calling for help.”
Residents evacuated from the building were rehoused by local authorities for the night.
Authorities said two apartments were completely destroyed in the fire, but inhabitants of the other apartments may be able to return home on Friday evening after firefighters have secured the building.
“Because of the risk of collapse, we are proceeding to secure several floors and supporting walls,” Nicolas Schumacher, head of the Fire and Rescue Service (SIS), told Tribune de Genève.
Police have launched an investigation into the cause of the fire.