Il 2006 vide Di Grassi competere nella GP2 per il Team Durango; il brasiliano fu protagonista di una stagione modesta, conclusa con 8 punti conquistati e il 17º posto in classifica. Nel 2007 si unì ai campioni uscenti della ART Grand Prix; i risultati del pilota brasiliano migliorarono immediatamente e dopo un quarto posto e un ritiro nella gara iniziale, Di Grassi cominciò una serie di ben dodici gare a punti, conclusa con una vittoria nella corsa principale in Turchia che gli permise di passare in testa al campionato davanti al rivale Timo Glock; tuttavia il tedesco riconquistò la vetta della classifica già la mattina dopo, quando vinse gara 2. Di Grassi e Glock continuarono a duellare per il titolo per il resto della stagione, ma alla fine il tedesco ebbe la meglio sul brasiliano, vincendo il titolo all'ultima gara. Nel 2008 Di Grassi, impegnato come tester per la Renault, non partecipò alle prime tre gare in calendario, accordandosi poi con la Campos Racing per il resto della stagione. Il brasiliano ottenne comunque buoni risultati, tanto che ad un certo punto della stagione sembrò in grado di inserirsi nella lotta per il titolo tra Giorgio Pantano e Bruno Senna; chiuse la stagione in terza posizione, con tre vittorie e tre secondi posti. Nel 2009 il pilota brasiliano passa alla Racing Engineering; dopo un avvio difficile, con un ritiro e un decimo posto nella prima gara in Spagna, Di Grassi ha conquistato una vittoria nella gara sprint in Turchia e diversi piazzamenti sul podio, chiudendo il campionato in terza posizione con 63 punti.