Ha iniziato la carriera in Australia nel (Sydney United e nel Sydney Olympic), ma nel 1998 è approdato in Europa, prima all'Ajax, senza però mai scendere in campo, poi nel Germinal Beerschot, nel De Graafschap e nel Twente, squadra dove si è messo in ottima luce, tanto da venir messo sotto contratto dai big del PSV (autunno 2005). Dello stesso anno è la prima convocazione con l'Australia. Con la sua nazionale conta 59 presenze e un gol.
Nell'estate 2006 ha fatto parte dei 23 convocati per il Mondiale in Germania, rassegna dove i socceroos sono giunti agli ottavi.
Nell'ottobre 2012 ha firmato per il Sydney. Tuttavia, il rapporto col club è durato meno di un anno, ha rescisso il contratto nel febbraio 2013, dopo un disaccordo con il manager Frank Farina.