He began competing internationally in 2005 and came ninth over 10,000 metres at the 2005 Summer Universiade. At the African student championships in 2006, he was third over 5000 metres and finished as runner-up in the 10,000 m. He won back-to-back South African universities titles and won his first global level medal at the 2007 Summer Universiade, taking the bronze medal in the 10,000 m. He gained his first senior international selections the following year, running at the 2008 IAAF World Cross Country Championships and the 2008 IAAF World Half Marathon Championships. He made significant improvements to his times in the 2009 season, including a 5000 m personal best of 13:44.22 min at the Yellow Pages Durban meeting and a 10,000 m track best of 28:48.73 min. He won the 10,000 m national title in March and then managed to finish in 32nd place at the 2009 IAAF World Cross Country Championships. He also improved on the roads, taking the national 10K and half marathon titles with bests of 28:21 min and 61:26 min respectively. Having already won the Two Oceans Half Marathon earlier that year, he established himself as a top level competitor at the 2009 IAAF World Half Marathon Championships by coming in eighth place. At the 10-mile Great South Run in England, it came down to a sprint finish between Mo Farah and himself. Although he lost by a margin of one second, he set a South African record of 46:26 min for the distance. In 2010, Mokoka retained his 10,000 m track and road national titles and improved upon his previous year's finish at the 2010 IAAF World Cross Country Championships, coming 22nd overall. He made his first outing over the marathon distance in November that year, running a time of 2:08:33 hours for fourth place at the JoongAng Seoul Marathon. He was one of the few runners to compete at both the 2011 African Cross Country Championships and the World Championships events, placing sixth at the continental level and fifteenth on the global stage. A month later he won the 10,000 m South African title in a personal best, was runner-up at the Yangzhou Half Marathon, then had his first sub-28-minute clocking to win the 10,000 m national universities title with a run of 27:56.18 min. He won the silver medal in the 10,000 m at the 2011 Summer Universiade behind Suguru Osako and went on to make his world debut in the event at the 2011 World Championships in Athletics, where he came thirteenth. He ended the year with his second marathon outing at the Shanghai Marathon and was runner-up to Willy Kibor Koitile. Mokoka competed internationally in a range of distances in 2012. After winning the 10,000 m national title with a personal best of 27:40.73 minutes, he came eighth in the event at the 2012 African Championships in Athletics. He was selected for the South African Olympic team and ran in the Olympic marathon, although he came 49th overall. A half marathon best of 60:57 minutes came two weeks after in Cape Town and he went on to place eighth at the 2012 IAAF World Half Marathon Championships. He closed off his year on the roads, winning the Great South Run 10-miler with a run of 46:40 minutes and a fourth-place finish at the Shanghai Marathon in 2:09:43 in December. He made two international appearances in 2013: he ran both the 10,000 m and half marathon at the 2013 Universiade and won a gold and a silver medal, respectively. He was selected for the track event at the 2013 World Championships in Athletics and placed twentieth overall. He was also the South African champion in the 5000 m, 10,000 m, and half marathon. He attempted to defend his title at the Great South Run, but was outrun by Kenya's Emmanuel Bett. At the 2016 Summer Olympics in Rio de Janeiro, he competed in the 10,000 m event. He finished in 18th place with a time of 27:54.57. In 2019, he competed in the men's marathon at the 2019 World Athletics Championships held in Doha, Qatar. He finished in 5th place.