Tošić spielte während seiner Jugendzeit für Proleter Zrenjanin. 2004 kam er dann in die Profikader des Vereins, wo er seine Profikarriere begann. Zwei Jahre später spielte er bei Banat Zrenjanin. Dort wurden Klubs wie Roter Stern und Partizan Belgrad auf ihn aufmerksam, später auch Talentspäher von internationalen Klubs. Trotz Angeboten großer europäischer Mannschaften ging er zu Partizan Belgrad[2].
Manchester United
Am 2. Januar 2009 unterschrieben er und Adem Ljajić einen Vertrag bei Manchester United.[3][4] Am 20. Januar 2009 war er zum ersten Mal im Kader der Mannschaft. Sein Debüt für Manchester gab er vier Tage später im Spiel des FA Cup gegen Tottenham Hotspur. Am 27. Januar 2009 absolvierte er sein erstes Spiel in der Premier League. Er wurde in der 77. Minute eingewechselt. Die meiste Zeit spielte er aber für die Reserve von United. Er wurde dort zum Stammspieler und erreichte 2009 den zweiten Platz in der Premier Reserve League. Mit der Reservemannschaft gewann er 2009 auch den Manchester Senior Cup. Er erzielte das entscheidende Tor im Finale.
1. FC Köln
Am 27. Januar 2010 wurde Tošić für ein halbes Jahr an den 1. FC Köln ausgeliehen.[5][6] Sein erstes Tor für Köln erzielte er am 27. März 2010 gegen Hannover 96. Mit einem zweiten Tor in diesem Spiel hatte er großen Anteil am 4:1-Sieg seiner Mannschaft.[7] Mit seinem zweiten „Doppelpack“ am 16. April 2010 im Spiel gegen den VfL Bochum trug er wesentlich dazu bei, dass der 1. FC Köln nicht abstieg.[8]
Tošić blieb bis 2017 beim Verein, wurde dort dreimal Meister, zwei Mal Pokalsieger und nahm mehrmals an der Champions League teil.
Partizan Belgrad
Im Sommer 2017 wechselte Zoran Tošić ablösefrei zu Partizan Belgrad, wo er bereits in jungen Jahren erste Erfolge feiern konnte. In drei Saisonen machte er 55 Ligaspiele und wurde zwei Mal Pokalsieger.
Weitere Stationen
Nach dem Auslaufen seines Vertrags in Belgrad wechselte Tošić zum unterklassigen chinesischen Verein Taizhou Yuanda. Dort kam er nur zu wenigen Einsätzen, ehe der Verein im März 2021 aufgelöst wurde. Im April 2021 unterschrieb Zoran Tošić einen Vertrag bis Ende des Jahres beim kasachischen Klub Tobyl Qostanai.[12] Seine letzte Karrierestation war in Griechenland bei PAS Lamia.
Nationalmannschaft
Zoran Tošić nahm 2007 an der U-21-Fußball-Europameisterschaft, wo er mit der Mannschaft das Finale erreichte. Er war auch Teil der U-23-Mannschaft bei den Olympischen Sommerspielen 2008 in Peking. Er spielte in allen drei Vorrundenspielen mit. Serbien schied aber als Gruppenletzter aus.
Sein Debüt in der Serbischen Fußballnationalmannschaft gab er am 8. September 2007 gegen Finnland. Am 12. August 2009 erzielte er sein erstes Tor für Serbien in einem Freundschaftsspiel gegen Südafrika. Bei der Fußball-Weltmeisterschaft 2010 wurde er im letzten Vorrundenspiel gegen Australien eingewechselt. Serbien schied nach der Vorrunde aus.