Rio Haryanto commence à faire du karting à l'âge de six ans en 1999. En 2007, il est sacré champion Junior Asie. L'année suivante, il découvre la monoplace en s'engageant en Formule Renault asiatique et en Formule Asia 2.0 se classant troisième de ce championnat. En 2009, il passe Formule BMW Asia et remporte le championnat avec six victoires et onze podiums en quinze courses.
En 2010, Manor Motorsport l'engage en GP3 Series. Il remporte une victoire et se classe cinquième du championnat. En fin de saison, à Abou Dabi, il fait ses premiers essais en Formule 1 avec Virgin Racing. En 2011, il se classe septième du championnat GP3 avec deux victoires.
Il est engagé en GP2 Serie pour la saison 2012 par l'écurie Carlin mais termine à une modeste quatorzième place au championnat avec comme meilleur résultat une cinquième place en Espagne une pole position sous la pluie à Spa. Pour sa deuxième saison en GP2, il rejoint l'écurie Barwa Addax et obtient son premier podium à Silverstone mais ne termine que dix-neuvième du championnat. Il s'engage avec l'équipe Caterham Racing en 2014 avec comme seul bon résultat une troisième place lors de la deuxième course à Monaco.
En 2015, Rio dispute sa quatrième saison en GP2 Series avec une quatrième écurie: Campos Racing. Il remporte trois courses sprint et se classe quatrième du championnat.
Grâce au soutien financier du gouvernement indonésien, il est engagé par Manor Racing pour la saison 2016 devenant le premier pilote de ce pays en Formule 1.
Après douze Grands Prix et une treizième place comme meilleur résultat, Rio est à court de budget. Il est remplacé par Esteban Ocon mais devient le pilote de réserve de l'écurie.
Ne parvenant pas à trouver un volant, Rio annonce en 2018 qu'il arrête la compétition pour se consacrer à la papeterie familiale. Il fait néanmoins son retour à la compétition en 2019, au volant d'une Ferrari 488 GT3, pour participer aux Blancpain GT World Challenge Series en Asie et à quelques manches des Asian Le Mans Series en 2020.
.