Après avoir vécu à La Spezia et à Naples jusqu'à l'âge de 10 ans, c'est à Rome qu'il s'établit pour étudier l'électronique. Après son diplôme d'ingénieur, il s'oriente vers une carrière artistique où il prend des cours à l'Académie Nationale d'Art Dramatique Silvio D'Amico.
Il commence au théâtre à Rome à seulement 18 ans avec In memoria di una signora amica de Giuseppe Patroni Griffi, au côté de Lilla Brignone. Successivement le metteur en scène Beppe Menegatti lui donne la réplique dans Sogno di una notte di mezza estate de William Shakespeare où il interprète Puck. C'est le théâtre qui lui offre ses premiers succès avec Romeo e Giulietta de Franco Zeffirelli qui enthousiasme le public de l'Old Vic de Londres, et avec La lupa, toujours sous la direction de Zeffirelli, au côté d' Anna Magnani.
Après de nombreuses apparitions théâtrales et télévisuelles, il débute dans le cinéma en 1965 avec un rôle dans Fango sulla metropli de Gino Mangini. Puis suivent d'autres apparitions, mais il atteint la popularité seulement en 1967, en interprétant le protagoniste dans un téléfilm, adapté d'un roman de Charles Dickens.
Cette même année, il rencontre la réalisatrice italienne Lina Wertmüller. En 1967 elle lui offre son premier rôle dans Non stuzzicate la zanzara, la cinéaste l'emploiera par la suite dans la quasi-totalité de ses films. Mais il ne réussit pas à s'imposer jusqu'en 1970, année où il interprète Dramma della gelosia, Tutti i particolari in cronaca de Ettore Scola.
Parmi les acteurs les plus doués et appréciés du cinéma italien, Giannini interprète une vaste gamme de personnages, très différents les uns des autres, grâce à son esprit de diversité, qui lui permet de passer du prolétaire au boss mafieux, de la comédie au drame, en utilisant également de nombreux dialectes.
Mais c'est de sa collaboration avec Lina Wertmüller que naissent ses plus célèbres personnages, grottesques et ironiques interprétés par Giancarlo Giannini : il est Tunin dans Film d'amore e d'anarchia, ovvero stamattina alle 10 in Via dei Fiori nella nota casa di tolleranza (1973), Pasqualino Settebellezze (1976), il est le marin Gennarino Carunchio dans Vers un destin insolite, sur les flots bleus de l'été (1974) avec Mariangela Melato, avec laquelle il formera un autre couple artistique prometteur. Giannini et Lina Wertmüller fondent ensemble la société de production Liberty films.
Ces rôles lui apportent le succès national et international et le récompensent: il reçoit un Nastro d'Argento (prix cinématographique italien) pour le rôle du meilleur acteur dans Mimì metallurgico ferito nell'onore (1973), le premier prix au Festival de Cannes de 1973 pour Film d'amore e d'anarchia et une nomination aux Oscars pour le premier rôle dans Pasqualino Settebellezze en 1977.
Giannini a travaillé avec les meilleurs réalisateurs du cinéma italien ; dont Luchino Visconti (L'innocente, 1976), Sergio Corbucci (Il bestione, 1974 ; Bello mio, bellezza mia, 1982), Mario Monicelli (Viaggio con Anita, 1979 ; I Picari, 1988 ;Il male oscuro, 1990), Dino Risi (Sessomatto, 1973 et pour la télévision Vita coi figli, 1990), Alberto Lattuada (Sono stato io!, 1973), Nanni Loy (Mi manda Picone, 1984, récompensé par le David di Donatello (récompense décernée par l'Académie du cinéma italien) pour le premier rôle, Tinto Brass (Snack Bar Budapest, 1988), Franco Brusati (Lo zio indegno, 1989). En 1987 il débute en tant que réalisateur dans Ternosecco, qu'il écrit et interprète.
Après avoir travaillé avec Rainer Werner Fassbinder dans
Lili Marleen (1980), ses apparitions sont nombreuses dans le cinéma américain : Le Secret de Santa Vittoria de Stanley Kramer (1969), l'épisode La vita senza Zoe dirigé par Francis Ford Coppola dans New York Stories (1989), Il profumo del mosto selvatico (1995) d'Alfonso Arau,
Hannibal (2001) de Ridley Scott, grâce auquel il gagne le Nastro d'Argento du Meilleur Acteur, Man on Fire (2004) de Tony Scott,
Casino Royale (2006) de Martin Campbell.
Dans son palmarès cinématographique, il a également reçu le David di Donatello pour un second rôle en 1995 dans le film Come due coccodrilli de Giacomo Campiotti et, en 1996 et 2002 dans un des films de Carlo Lizzani et Ti voglio bene Eugenio de Francesco Josè Fernandez; deux autres Nastri d'Argento en 1998 pour La stanza dello scirocco de Maurizio Sciarra, La cena de Ettore Scola, Targa d'Oro récompensé par l'Ente David di Donatello. Il a reçu un Nastro d'Argento comme meilleur doubleur masculin en 1994 pour avoir prêté sa voix à Al Pacino dans le film Carlito's Way de
Brian de Palma.