Футбольную карьеру начал в клубе своего родного города, «Осиеке». Уже в возрасте 18 лет он пробился в основной состав команды и дебютировал в хорватской первой лиге в 1998 году. Однако в первом и следующем своих сезонах он не слишком часто выходил на поле. Полностью раскрылся он только в сезоне 1999/2000. Благодаря его хорошей игре как в национальной лиге, так и в молодежной сборной Хорватии (до 21 года), Бабичем заинтересовались скауты немецкого клуба «Байер» из Леверкузена. Зимой 2000 года «Осиек» продал Бабича (вместе с его партнёром по клубу Юрицей Враньешем) за 2 млн евро. Сезон футболист доиграл в хорватском чемпионате, и только летом приехал в Леверкузен.
В «Байере» первые 2 года для игрока были непростыми и он испытывал трудности с акклиматизацией в Бундеслиге. Но именно с этим клубом связаны высшие достижения футболиста в клубном футболе. В 2002 году «Байер» стал вице-чемпионом Германии и играл в финале национального кубка. Кроме этого, клуб дошёл до финала Лиги чемпионов в Глазго, где Бабич вышел на замену на последних минутах. Лишь с сезона 2002/03 он стал регулярно появляться в составе клуба. Сложным также выдался сезон 2004/05, когда Бабич проиграл борьбу за место в основе поляку Яцеку Кржинувеку. После ухода последнего из команды, хорват снова стал основным игроком «Байера» и в 2006 и 2007 годах занимал с клубом 5 место в Бундеслиге, а также дошёл в 2007 году до четвертьфинала Кубка УЕФА. За семь проведённых в Леверкузене лет Бабич сыграл за «Байер» 144 матча в чемпионате, забил 13 мячей.
Летом 2007 года после окончания сезона Бабич перешёл на правах свободного агента в испанский «Бетис».
В национальной сборной Хорватии Бабич дебютировал 8 мая 2002 года в матче со сборной Венгрии (2:0). В 2004 году он был включен в состав хорватов на чемпионат Европы, но не провёл там ни одного матча. Через два года Бабич поехал на чемпионат мира в Германии уже в качестве игрока основного состава, и выходил на поле во всех 3 матчах команды на турнире.