Valsecchi begann seinen Monoposto-Karriere in Rennserien der Formel Renault, in der er von 2003 bis 2005 fuhr. Er begann in der italienischen Formel Renault, in der er in seiner Debütsaison den 15. Gesamtrang belegte. 2004 blieb er in dieser Serie und verbesserte sich auf den 14. Platz im Gesamtklassement. 2005 wurde Valsecchi in seiner dritten Saison in der italienischen Formel Renault mit zwei Podest-Platzierungen Siebter. Er begann in der italienischen Formel Renault, gefolgt vom Formel Renault Eurocup. Im gleichen Zeitraum startete er auch in einzelnen Rennen der italienischen Formel-3-Meisterschaft, im deutschen Formel-3-Cup, im Formel Renault 2.0 Eurocup und in der 3000 Pro Series. 2005 wurde er mit einem Podest-Platz Siebter in der italienischen Formel-3-Meisterschaft.
2006 wechselte Valsecchi in die Formel Renault 3.5 zum spanischen Rennstall Epsilon Euskadi und wurde Teamkollege von Steven Kane. Er wurde zweimal Dritter und war überwiegend besser als Kane. Am Saisonende belegte er den zehnten Platz in der Gesamtwertung. Zusätzlich nahm er 2006 an drei Sportwagenrennen der Le Mans Series in der Klasse LMP2 teil, von denen er jedes Rennen mit einem Platz auf dem Podium beendete. 2007 bestritt Valsecchi für Epsilon Euskadi seine zweite Saison in der Formel Renault 3.5 und erhielt mit Filipe Albuquerque einen neuen Teamkollegen. Ihm gelang zwar ein Rennsieg, doch er belegte am Saisonende nur den 16. Gesamtrang und wurde damit von Albuquerque, der Vierter in der Meisterschaft wurde, geschlagen.
2008 wechselte Valsecchi in die GP2-Serie, die im Rahmenprogramm der Formel 1 ausgetragen wurde, und ging sowohl in der neu gegründeten GP2-Asia-Serie als auch in der regulären Serie für das italienische Team Durango an den Start. Ohne einen Podest-Platz erzielt zu haben, belegte er am Saisonende der GP2-Asia-Saison den achten Gesamtrang. Beim Qualifying zum zweiten Rennwochenende der europäischen Saison 2008 in Istanbul raste Valsecchi infolge eines Bremsdefekts mit einer Geschwindigkeit von 280 km/h ungebremst durch die Auslaufzone und prallte gegen die Streckenbegrenzung.[1] Bei diesem Unfall zog er sich eine leichte Rückenverletzung sowie eine Gehirnerschütterung zu. Beim nächsten Rennen in Monaco wurde durch seinen italienischen Fahrerkollegen Marcello Puglisi ersetzt;[2] beim Rennen in Magny-Cours ging der Brite Ben Hanley für ihn an den Start.[3] In Silverstone kehrte Valsecchi dann wieder ins Cockpit zurück.[4] Im Hauptrennen in Spa-Francorchamps hatte Valsecchi erneut einen schweren Unfall und musste ins Krankenhaus. Seine Verletzungen waren diesmal nicht so schlimm und er holte schon am nächsten Tag beim Sprintrennen als Sechster Punkte. Bei seinem Heimrennen in Monza verlief es noch erfolgreicher: Nachdem er das Hauptrennen auf Platz acht beendet hatte, startete er beim Sprintrennen von der Pole-Position und gewann das Sprintrennen. Es war sein erster Sieg in der GP2-Serie. Am Saisonende belegte Valsecchi mit elf Punkten Platz 15 in der Gesamtwertung.
Im September 2008 wurde bekannt, dass Valsecchi sowohl die GP2-Asia-Serie-Saison 2008/2009 als auch die 2009er Saison der GP2-Serie für Durango fahren sollte.[5] Am ersten Rennwochenende der GP2-Asia-Serie in Shanghai gewann er das Sprintrennen. Im weiteren Saisonverlauf fuhr er zweimal auf den zweiten Platz und belegte lange Zeit den zweiten Platz in der Gesamtwertung. Am letzten Rennwochenende in as-Sachir schaffte Valsecchi es nicht, seinen zweiten Platz zu verteidigen und belegte schließlich den vierten Gesamtrang. In der regulären GP2-Serie wechselte Valsecchi nach zwölf Rennen, bei denen er einmal als Dritter auf dem Podest stand, von Durango zu Barwa Addax, wo er den in die Formel 1 aufgestiegenen Romain Grosjean ersetzte. Bei seinem neuen Team hatte Valsecchi keine Chance gegen seinen Teamkollegen Witali Petrow und erzielte nur einmal Punkte. Somit belegte er am Saisonende den 17. Gesamtrang.
Für die Saison 2009/2010 der GP2-Asia-Serie, wurde Valsecchi von iSport International zunächst nur für das erste Rennwochenende verpflichtet[6] und zeigte eine gute Leistung: Nachdem er das Hauptrennen gewonnen hatte, wurde er beim Sprintrennen von Platz acht startend Zweiter. Diese Resultate überzeugten sein Team, das ihm anschließend für die restlichen Rennen der GP2-Asia-Serie und die Saison 2010 der GP2-Serie unter Vertrag nahm.[7] Auch beim zweiten Rennwochenende, das wie das erste auf dem Yas Marina Circuit stattfand, knüpfte Valsecchi an die vorherigen Leistungen an: Nachdem er im Hauptrennen hinter seinem Teamkollegen Oliver Turvey Zweiter geworden war, gewann er das Sprintrennen. Mit einem Sieg beim Hauptrennen des dritten Rennwochenendes in as-Sachir entschied Valsecchi den Meistertitel der GP2-Asia-Serie drei Rennen vor Saisonende vorzeitig für sich. Dabei überholte er in den letzten sechs Runden zuerst den zweitplatzierten Luca Filippi und anschließend den bis dahin führenden Javier Villa.[8] In der regulären GP2-Serie verlor er das teaminterne Duell gegen Turvey und musste bis zum letzten Saisonrennen auf einen Sieg warten. Mit insgesamt drei Podest-Platzierungen beendete er die Saison auf dem achten Gesamtrang. Außerdem startete er an einem Rennwochenende der Auto GP. Darüber hinaus machte er bei einem Testtag für HRT seine ersten Erfahrungen in einem Formel-1-Auto.[9]
2011 war Valsecchi Formel-1-Testfahrer beim Team Lotus.[10] In dieser Funktion gab er im ersten freien Training zum Großen Preis von Malaysia sein Debüt bei einem Grand-Prix-Wochenende. Außerdem ging er für das Team AirAsia, dem GP2-Team von Lotus, in der GP2-Asia- und in der GP2-Serie an den Start.[11] In der GP2-Asia-Serie belegte er mit einem dritten Platz als bestes Ergebnis den siebten Gesamtrang. Eine Disqualifikation beim Hauptrennen des Saisonfinales wegen eines zu niedrigen Unterbodens verhinderte eine bessere Gesamtplatzierung.[12] In der GP2-Serie entschied Valsecchi das Hauptrennen auf dem Circuit de Monaco für sich. In der zweiten Saisonhälfte blieb er allerdings ohne Punkte. Er schloss die Saison auf dem neunten Platz ab.
2012 wechselte Valsecchi innerhalb der GP2-Serie zu DAMS.[13] Beim zweiten und dritten Rennwochenende, die beide in as-Sachir stattfanden, gewann Valsecchi drei von vier Rennen, erzielte eine Pole-Position, fuhr zweimal die die schnellste Rennrunde und wurde einmal Dritter. Nachdem er die Meisterschaft ab dem dritten Rennen angeführt hatte, verlor er diese zur Saisonmitte an Luiz Razia. Beim vorletzten Rennwochenende in Monza, bei dem er das Sprintrennen gewann, ging er wieder in Führung und sicherte sich dann ein Rennen vor Saisonende den Meistertitel der GP2-Serie. Valsecchi setzte sich mit 247 zu 222 Punkten gegen Razia durch. Insgesamt erzielte Valsecchi in der Saison 2012 vier Siege und zehn Podest-Platzierungen. Darüber hinaus nahm Valsecchi für das Lotus F1 Team an Formel-1-Testfahrten teil.
2013 erhielt Valsecchi bei Lotus einen Vertrag als Formel-1-Testfahrer.[14]