Born in what is now Bosnia and Herzegovina, Bodul is a Bosnian Croat and represented Croatia at under-19 and under-21 level. He has subsequently given up his Croatian citizenship and expressed an interest in representing Austria.
Darko Bodul was born on 11 January 1989 in Sarajevo, SR Bosnia and Herzegovina, SFR Yugoslavia. His family moved to Austria when he was a child. He is the younger brother of Dragan Bodul, who would also become a professional footballer.
He began his career in Wien by DSV Fortuna Wien, joined First Vienna FC, and was snapped up by Heerenveen in 2004.
Bodul played in the youth teams of Heerenveen before joining AFC Ajax in the summer of 2008 on a free transfer. He made his senior team debut on 8 February 2009 against Vitesse Arnhem.
On 10 April 2009, Bodul renewed his contract with Ajax for two additional years. After being involved in the first team, he was soon on sidelined with ankle injury, ruling him out for the rest of the season.
Following his recovery from injury, it was announced that Bodul was available to be loaned out for the 2009–10 season. It was announced on 31 August 2009 that he was to be loaned to Sparta Rotterdam until 30 June 2010. Bodul made his Sparta Rotterdam debut on 13 September 2009, where he made his start before being substituted in the 60th minutes, in a 1–0 win over RKC Waalwijk. Bodul then provided a double assist for Rydell Poepon, who scored twice, in a 3–2 loss against PSV Eindhoven on 27 November 2009. Few weeks later on 19 December 2009, Bodul scored his first and only goal for Sparta in the away game against RKC Waalwijk, 4–1 loss. Despite making 24 appearances and scoring once, it was announced that the club allowed Bodul to return to his parent club.
Despite being given 31 shirt ahead of the 2010–11 season, Bodul appeared one match as an un-used substitute and was allowed to leave the club after being told by Manager Frank de Boer that his contract was not going to be renewed.
With his contract expiring at the end of the 2010–11 season, Bodul moved to Portuguese side Nacional until the end of the season, with an option of staying for four more years.
Bodul made his Nacional debut on 12 February 2011, where he made his first Nacional start, in a 1–0 loss against Leiria. However, the club changed manager soon after and Bodul was left out of the first team. At the end of the season, Bodul was released by the club.
After being released by Nacional, Bodul joined Austrian Bundesliga side Sturm Graz on a one-year contract, with an option of extending for another year. Bodul was previously on the verge of moving to Ekstraklasa side Lechia Gdańsk before joining Sturm Graz.
Bodul made his Sturm Graz debut in the second leg of UEFA Champions League play-offs, in a 1–0 win over Zestafoni. Weeks later on 13 August 2011, Bodul made his Strum Graz league debut, in a 1–0 win over Rapid Wien. Bodul scored his first goal and then scored another, as well as, setting up a goal for Andreas Hölzl, in a 5–0 win over Wiener Neustadt on 27 August 2011, followed up by scoring in a next game against Admira Wacker, but was sent-off for second bookable offense, in a 2–1 loss on 10 September 2011. Despite being served one match ban, Bodul scored in the second round of ÖFB-Cup, in a 4–0 win over SC Weiz on 21 September 2011. After serving one match ban, Bodul scored on his return three days later, in a 2–1 loss against Austria Wien on 24 September 2011. It took until on 26 October 2011 Bodul score again, in the third round of ÖFB-Cup, in a 3–1 loss against Admira Wacker Three days later, Bodul scored twice, in a 3–2 loss, which was followed up, scoring in a 1–0 win over Kapfenberger SV on 6 November 2011. Bodul then scored twice, in a 5–1 win over Austria Wien on 10 December 2011. On 17 February 2012, it was announced that Bodul signed a contract with the club, keeping him until 2013. Bodul continued his goal drought and took until 8 April 2012 for Bodul to score his tenth goal of the season, in a 2–0 win over Mattersburg. On the last game of the season on 17 May 2012, Bodul scored twice, in a 3–1 win over Austria Wien and helped the club finish fifth place. In his first season at Sturm Graz, Bodul made 28 appearance and scoring 12 times. His good performance attracted interests from Belgian Pro League side Anderlecht.
However, his second season at Sturm Graz wasn't the same as the first. Though he provided assist for Imre Szabics, in a 4–1 win over Wolfsberger AC on 11 August 2012, Bodul struggled to score and as a result, Bodul was sent to play in the reserve. With lack of first team opportunities and fell out with Manager Peter Hyballa, Bodul attracted further interests from J. League Division 1 side Urawa Red Diamonds.
It was announced on 31 January 2013 that Bodul joined Danish Superliga side OB on a two-year contract, keeping him until 2015 and was given number 10 shirt.
After months of winter break, the club returned to playing in the league and Bodul made an impact at the club when he scored on his debut, in a 3–2 loss against Copenhagen on 3 March 2013., followed up scoring three days later, in a 2–2 draw against AaB. It took until 31 March 2014 for Bodul scored his third goal, as well as providing assist for Bashkim Kadrii to score the first goal in the game, in a 2–0 win over Horsens. On the last game of the season, Bodul scored his fourth goal of the season, in a 3–3 draw against Silkeborg. The win ensured the club will play in the Danish Superliga next season, just four points from relegation. Though he made 14 appearance and scored four times, Bodul expressed his disappointment with the club's display in the 2012–13 season.
Ahead of the 2013–14 season, Bodul started the opening game of the season well when he provided assist for Krisztián Vadócz, in a 1–1 draw against SønderjyskE on 21 July 2013. During the match against AaB on 11 August 2013, Bodul suffered ankle injury and had to be substituted in the 24th minutes, which OB drew 0–0 with AaB. After the match, Manager Troels Bech expressed fears that Bodul's injury could be serious, which may put him on the sidelined for a long time. In the end, it turns out that Bodul's injury wasn't serious and hadn't broken his ankle, therefore avoiding sidelined for a long time. Following this, Bodul scored his first OB goal of the season, in a 9–1 win over FC Udfordringen in the second round of Danish Cup. His first league goal of the season came on 21 October 2013, in a 5–1 win over SønderjyskE. Bodul scored for the third time of the 2013–14 season when he scored twice, in a 2–2 draw against SønderjyskE on 28 March 2014. Despite missing some games due to being un-used on the substitute bench, Bodul made 27 appearances and scored three times.
With one year left to his contract, Bodul find himself in a pecking order behind newly signing strikers Thomas Mikkelsen and Vladimir Dvalishvili and was determined to fight for his first team place in effort at OB of earning himself a contract extension. To fight for his first team place at OB, Bodul voluntarily to do extra training. Bodul then scored his first goal of the 2014–15 season, in a 2–1 loss against Nordsjælland on 29 September 2014. In January 2015, Bodul left the club by mutual consent, just six months left to his contract.
After being released by OB, Bodul moved back to Austria, where he joined Austrian Bundesliga side Rheindorf Altach until the end of the season.
Bodul made his Rheindorf Altach debut on 14 February 2015, in a 2–0 win over Admira Wacker. Bodul then scored his first goal for the club on 24 May 2015, in a 2–0 win over Grödig, in hopes of the club earning a European spot next season. After making 12 appearances and scoring once, Bodul was released by the club after being told his contract will not be renewed.
After being released by Rheindorf Altach, Bodul moved abroad to Scotland, where he signed for Scottish Premiership side Dundee United on 20 July 2015, signing a two-year contract. Bodul was previously linked with a move back to Netherlands, as NAC Breda were keen to sign him. But Bodul preferred joining Dundee United. Bodul stated his move to Dundee United was influenced by Saša Papac and Georgios Samaras.
Bodul made his Dundee United debut in the opening game of the season, where he came on as a substitute for Mario Bilate in the 45th minute, in a 1–0 loss against Aberdeen. Having had limited opportunities to play, Bodul was told he would be allowed to leave during the January 2016 transfer window, but he remained with the club for the rest of the season. After making twelve appearances for Dundee United without scoring, his contract was cancelled by mutual consent in May 2016.
On 12 July 2016, he signed a 2-year contract with the Russian side FC Amkar Perm.
He has represented Croatia at youth level, he won six caps at the under-19 level. He was a member of Croatia's under-21 squad and played on 11 February 2009 against the under-21 team from the Republic of Macedonia.
Despite having Croatian heritage, Bodul said he revoked his Croatian passport despite playing for Croatia national team and holds an Austrian citizenship.