Jest wychowankiem Botewu Wraca, z którego bardzo szybko odszedł do szkółki CSKA Sofia. W zespole seniorów klubu ze stolicy kraju zadebiutował w wieku siedemnastu lat, podobnie jak jego równolatek oraz późniejszy partner z reprezentacji BułgariiStilijan Petrow.
Młody zawodnik zaimponował działaczom Servette FC, którzy – w tym samym sezonie, w którym Stilijan przeszedł do Celticu Glasgow – ściągnęli go do Szwajcarii. Początkowo był rezerwowym, ale wkrótce awansował do pierwszego składu; po rozgrywkach 2000–2001, kiedy Servette zdobyło Puchar kraju, a on sam w trzydziestu dwu ligowych meczach strzelił jedenaście goli, odszedł do grającego w BundeslidzeVfL Wolfsburg.
Z zespołem kończącym niemal każdy sezon w środku tabeli (najlepszy wynik za czasów gry Petrowa – ósme miejsce w 2004 roku) nie zdobył wprawdzie żadnych trofeów, ale dzięki grze w Wolfsburgu stał się jednym z najciekawszych i najskuteczniejszych pomocników w Niemczech; w ciągu czterech lat rozegrał dla klubu sto szesnaście meczów, w których zdobył dwadzieścia osiem bramek, ponadto na koniec sezonu 2004–2005 (dwanaście goli i jedenaście asyst) został wybrany do najlepszej jedenastki ligi. Od 2005 roku był zawodnikiem Atlético Madryt.
Po dwóch latach gry w Hiszpanii w lipcu 2007 roku – niespodziewanie (kilka dni wcześniej był kandydatem na nowego kapitana Atlético) – za 4,7 miliona funtów przeszedł do Manchesteru City i tym samym dołączył do kolegów z kadry Stilijana Petrowa i Dimityra Berbatowa, który również grają w Premiership. Petrow był jednym z pierwszych nabytków nowego menedżera klubu Svena-Görana Erikssona[2]. W nowej drużynie zadebiutował 11 sierpnia w ligowym spotkaniu z West Hamem United. Pierwsze bramki zdobył 22 września w spotkaniu z Fulhamem. Debiutancki sezon zakończył z 34 ligowymi występami. W październiku 2008 roku doznał kontuzji łąkotki, która wykluczyła go z gry na następne cztery miesiące[3]. W czerwcu 2010 roku Bułgar podpisał kontrakt z Boltonem Wanderers[4].
14 stycznia 2013 Bułgar podpisał kontrakt z Espanyolem Barcelona, który obowiązywał do końca sezonu. Jeśli Espanyol uniknąłby degradacji, umowa z Bułgarem zostałaby automatycznie przedłużona o rok[5].
Po piętnastu latach gry za granicą Petrow powrócił do narodowego klubu w którym stawiał swoje pierwsze kroki. 31 października Petrow zadebiutował w barwach CSKA Sofia w wygranym 1:0 spotkaniu ligowym przeciwko Beore[6].
Kariera reprezentacyjna
W reprezentacji Bułgarii zadebiutował w wieku dwudziestu lat 9 września1999 roku. W zremisowanym 1:1 meczu eliminacyjnym Euro 2000 z Anglią zmienił w '46 minucie Christo Jowowa, po dwunastu minutach otrzymał czerwoną kartkę. Cztery lata później podczas Euro 2004 wystąpił we wszystkich trzech meczach i zdobył jedynego dla Bułgarii gola; podopieczni Płamena Markowa odnieśli trzy porażki (bramki 1:9). W eliminacjach do Euro 2008 był jednym z liderów drużyny (obok Stilijana Petrowa i Dimityra Berbatowa) oraz zawodnikiem, który (wraz z Berbatowem) strzelił najwięcej goli (6), w tym wszystkich w najważniejszych meczach z Rumunią (2:2) i Holandią (1:1).