Pour être le plus réaliste possible, Pier Paolo Pasolini prit la décision de tourner en extérieur avec des acteurs pour la plupart non-professionnels.
Ettore Garofalo qui joue le jeune adolescent du film était le jeune frère d'un ami de Pier Paolo Pasolini. le cinéaste le découvrit dans un restaurant où celui-ci travaillait et aurait déclaré : "Je l'ai trouvé l'autre nuit. c'était quelque chose de très beau comme trouver le dernier vers, le plus important, d'un poème, trouver la dernière rime." Pasolini finit alors son scénario qui ne lui demanda que trois semaines de travail autour de la personnalité de son futur acteur.
Le tournage de Mamma Roma a engendré plusieurs difficultés. Pier Paolo Pasolini ne s'entendait pas avec son actrice principale Anna Magnani. L'actrice souhaitait réciter ses textes dans la continuité afin que le dialogue soit plus naturel alors que le cinéaste voulait découper au maximum les scènes parlées lors du tournage. Une seconde difficulté apparut quand Franco Citti fut arrêté au milieu du tournage. Pasolini refusa de le remplacer et attendit qu'il sorte pour finir le film. Le tournage commença le 9 avril 1962. Le film fut fini à la fin du mois d'août de la même année.
Pier Paolo Pasolini décrit son utilisation de la musique pour Mamma Roma : "Il y a un motif qui accompagne sans cesse l'amour à la fois délicat et teinté de perversion entre Ettore et Bruna. C'est le concert en D mineur de Vivaldi. Il y a un second motif qui revient constamment quand le destin se profile à travers les apparitions de Carmine. C'est le concerto en C majeur. Il y a finalement le motif de la mort qui accopagne la mort d'Ettore. La musique a donc ici une importance capitale même si elle est toujours subordonnée aux dialogues et aux images."
A sa présentation au Festival du film de Venise où il reçut le Prix de la critique internationale, un policier porta plainte contre Mamma Roma pour obscénité. La copie anglaise du film fut coupée de 5 minutes par les censeurs et il a fallu attendre 1995 pour que le film soit distribué en salle aux Etats-Unis. Pier Paolo Pasolini fut personnellement attaqué par un jeune néo-fasciste lors de la première du film à Rome.
On retrouve dans Mamma Roma plusieurs références picturales. Par exemple, la scène du banquet au début du film est identique à celle peinte par Domenico Ghirlandajo pour le dernier repas du Christ. La seule différence vient du remplacement de Judas par des cochons.
L'intention de Pier Paolo Pasolini en tournant Mamma Roma était de "retirer le masque de l'Italie et voir enfin son vrai visage" comme le cinéma avait déjà su le faire une première fois en 1945.
Pier Paolo Pasolini explique comment il a voulu avec Mamma Roma se démarquer de son précédent film Accattone : "Une des principales différences entre ce film et Accattone, c'est l'existence d'une conscience morale. Le personnage même d'Accattone vivait seul dans un monde fait de solitude. Accattone est également un film beaucoup plus statique que celui-ci. J'ai délibéremment filmé Mamma Roma comme je l'ai fait. Je voulais aussi que le montage soit plus rapide et tendu. L'attention accordée aux paysages, à cette périphérie de Rome, est directement déterminée par l'histoire. Alors que la vie d'Accattone se déroulait dans les bidonvilles de la ville, Mamma Roma vit dans le Rome des petits bourgeois, celui des logements municipaux. Cet environnement est nécessairement moins impressionnant visuellement."
La réussite de Mamma Roma doit beaucoup à la performance d'Anna Magnani. L'actrice qui s'était déjà fait un nom grâce à ses rôles dans Rome ville ouverte ou Le Carrosse d'or avait été tellement impressionnée par Accattone qu'elle insista auprès du producteur de Pier Paolo Pasolini pour tourner avec le cinéaste. Ce dernier écrivit Mamma Roma pour elle.
L'histoire de Mamma Roma aurait été partiellement inspirée au cinéaste par un fait divers qui s'était produit en 1961. Un jeune homme nommé Marcello Elisei aurait trouvé la mort dans une prison romaine cette année là.