Born in Sarajevo, Zeba started his career at hometown club Željezničar. He played for the youth sides, but never got an opportunity to play for the first team, so he moved to Olimpik. His performances produced interest from stronger teams in Bosnia and Herzegovina and resulted in a transfer to Brotnjo. In 2004, Željezničar officials brought Zeba back to his childhood club on loan, but after only several months, as a result of new disagreements, he signed a contract with Zrinjski Mostar. His first foreign club was Slovenian PrvaLiga club Maribor. Then, he went to the Russian Football National League where he played for KAMAZ Naberezhnye Chelny. After a short period in Alania Vladikavkaz, Zeba came back to Željezničar, the club in which he had started his football career. In his third spell with Željezničar, Zeba won one league title and two cups and was named the 2011–12Bosnian Premier League Player of the Season. In December 2012, he left Željezničar and went to RNK Split. After coming back to Bosnia in early 2015, and signing with Sloboda Tuzla, he became the team captain the following season, and helped the team in winning the autumn part of the 2015–16 Bosnian Premier League season. At the end of the season, Zeba was named as the best player of the 2015–16 season in the Bosnian Premier League. In November 2016, he returned to Željezničar but he couldn't play for the club until 2017. In 2018, he won the Bosnian Cup with Željezničar and shortly after he retired at the age of 34. On 20 December 2018, Zeba came out of retirement and for the third time in his career signed with Olimpik. He scored his first goal after coming back to Olimpik on 9 March 2019, in a 1–0 away win against Igman Konjic. On 26 May 2020, the 2019–20 First League of FBiH season ended abruptly due to the ongoing COVID-19 pandemic in Bosnia and Herzegovina and, by default, Zeba with Olimpik were crowned league champions and got promoted back to the Bosnian Premier League.
In June 2018, after announcing his retirement, Zeba was appointed as an assistant manager at Željezničar. On 29 October 2018, after a string of poor results, it was announced that Zeba was dismissed of his position of assistant, while a month later, on 21 November, was named as a coach of the youth selections at the club. In December 2018, he left Željezničar after coming out of retirement and signing with Olimpik.