L'accident s'est produit au Real Plaza de Trujillo (nord-ouest), troisième ville la plus peuplée du pays, située à environ 500 kilomètres au nord de la capitale, Lima.
"À ce stade, nous avons trois morts, deux hommes et une femme", a déclaré à la chaîne America TV le commandant Gelqui Gomez, un responsable des pompiers présent sur place.
Le ministère de l'Intérieur a confirmé le chiffre de trois morts dans un message publié sur son compte X.
Un homme enseveli lors d'un accident de chantier retrouvé sain et sauf en Serbie
74 blessés dont dix enfants
"Nous avons évacué 74 blessés, dont dix enfants, vers des hôpitaux et des cliniques. Il y a 11 blessés graves", a affirmé à la radio RPP Anibal Morillo, responsable sanitaire du gouvernement local.
Des dizaines de familles étaient dans l'espace de restauration du Real Plaza au moment de l'effondrement, selon les médias locaux.
Sur les lieux, les opérations de secours et de recherche se poursuivent avec plus de cent pompiers et policiers déployés, d'après des images télévisées.
"Il y a un enfant piégé" sous les structures en métal du toit, a également dit Anibal Morillo, cette fois au diffuseur Panamericana.
Le Centre régional des opérations d'urgence a indiqué sur X que l'accident avait eu lieu à 20H41 locales vendredi (01H41 GMT samedi), mais n'a été signalé qu'environ une demi-heure plus tard.
"Nous avons besoin de grues hydrauliques pour pouvoir soulever la partie du toit qui n'a pas encore été enlevée parce qu'elle est très lourde", a expliqué sur la chaîne Canal N le ministre de l'Intérieur, Juan José Santivañez.