Krasić pochodzi z Kosowa. Jest wychowankiem klubu Rudar Kosovska Mitrovica, gdzie występował przez rok. Następnie w 1999 roku w wieku 14 lat przeniósł się do Vojvodiny z miasta Nowy Sad i w jej barwach zadebiutował w serbskiej I lidze. Spędził tam 4,5 roku, m.in. pełniąc funkcję kapitana zespołu.
W styczniu 2004 roku za 2,25 miliona euro Krasić przeszedł do rosyjskiegoCSKA Moskwa. Już w tym samym roku wywalczył wicemistrzostwo Rosji, a w sezonie 2004/2005 wystąpił w 3 meczach Pucharu UEFA, który wraz z CSKA zdobył po zwycięstwie 3:1 w finale nad Sportingiem. Kolejno w 2005 i 2006 roku wywalczył krajowe dublety: Mistrzostwo i Puchar Rosji. W 2008 roku został wicemistrzem Rosji oraz ponownie zdobył krajowy puchar. 19 sierpnia 2010 roku za kwotę 15 mln euro przeszedł do Juventusu. W Serie A zadebiutował 29 sierpnia w przegranym 0:1 wyjazdowym meczu z Bari. 26 września 2010 w meczu z Cagliari Calcio (4:2) zdobył hat-tricka. Były to jego debiutanckie trafienia we włoskiej Serie A[1]. W ostatnim sezonie spędzonym we Włoszech, zdobył z JuventusemMistrzostwo Włoch[2].
30 sierpnia 2013 roku, przeszedł na zasadzie wypożyczenia do SC Bastia[5]. W Ligue 1 debiutował 21 września 2013, w zremisowanym 0:0, prestiżowym starciu z Olympique Marsylia. 4 października 2013 w meczu z FC Lorient (4:1) zanotował swoje pierwsze trafienie we Francji[6].
30 sierpnia 2015 roku, podpisał dwuletni kontrakt z Lechią Gdańsk[7]. W Ekstraklasie zadebiutował 11 września 2015 roku w zremisowanym 0:0 spotkaniu z Koroną Kielce, zaś swojego pierwszego gola w polskiej lidze zdobył 13 lutego 2016 w wygranym 5:0 meczu z Podbeskidziem Bielsko-Biała[8][9]. 16 marca 2017 przedłużył kontrakt z klubem do 30 czerwca 2019 roku[10]. 1 grudnia 2018 roku, rozwiązał kontrakt z Lechią Gdańsk za porozumieniem stron[11].
W reprezentacji Serbii zadebiutował 24 marca 2007 w przegranym 1:2 meczu z Kazachstanem, rozegranym w ramach eliminacji do Euro 2008. Od czasu debiutu stał się podstawowym zawodnikiem kadry narodowej.