A native of Randburg, Ngoepe became the first black South African, and the sixth South African to sign a professional baseball contract when he signed in October 2008. When Ngoepe was growing up, his mother was a clubhouse attendant for the Randburg Mets, and they lived in one of the clubhouse rooms. He was invited to Major League Baseball's academy in Tirrenia, Italy, where the Pirates signed him. In 2009, Ngoepe played for the Rookie-levelGulf Coast League Pirates, and batted.238/.341/.281 with one home run, nine runs batted in, and 13 stolen bases in 47 games. He was a member of the South Africa national baseball team at the 2009 World Baseball Classic. At the 2009 WBC, he hit consecutive triples off of Mexico'sElmer Dessens in a 14–3 loss to Mexico. On 10 August 2009, Sports Illustrated published an article on Ngoepe titled "A Gift From Africa" which covered how he started his baseball career, his upbringing, and time with the Pirates since moving from South Africa. In 2010, he played 64 games with the Short Season-AState College Spikes and two with the Advanced-ABradenton Marauders, batting a combined.206/.316/.318 with one home run, 20 RBI, and 11 stolen bases. Ngoepe played only 27 games in 2011 due to a hamate injury. He batted.297/.354/.440 with two home runs and five RBI before the injury. Ngoepe played the entire 2012 season with Bradenton, and in a then career-high 124 games played he hit.232/.330/.338 with nine home runs and 36 RBI and a career-high 22 stolen bases. He also played 16 games for the Scottsdale Scorpions of the Arizona Fall League. In 2013, he again began the season with Bradenton, playing 28 games and batting.292/.424/.427 before being promoted to the Double-AAltoona Curve, where he played 72 games. In Altoona, Ngeope batted.177/.278/.282 with three home runs, 16 RBI, and 10 stolen bases. He made his second trip to the Arizona Fall League at the end of the season, playing 17 games for Scottsdale. In 2014, Ngeope set career-highs in games played and RBI, playing 131 games with Altoona and batting.238/.319/.380 with nine home runs, 52 RBI, and 13 stolen bases. He was invited to 2015 spring training by the Pirates on 9 January 2015. He played for the Indianapolis Indians of the Triple-AInternational League in 2016. On 26 April 2017, the Pirates promoted Ngoepe to the major leagues from Indianapolis; this was widely reported as making him the first African-born player in MLB history. Indeed, he was the first continental African to reach the Major Leagues. Some point out that Canary Islands-born Al Cabrera played for the St. Louis Cardinals in 1913. While the Canary Islands are part of Spain and have been since before Cabrera played in the Major Leagues, the archipelago is located off the coast of northwestern Africa. Regardless, Ngoepe made his Major League debut that day, and recorded his first career hit, a single off Cubs' starting pitcher Jon Lester. Because of time zone differences, Ngoepe's MLB debut fell on the early morning of 27 April in South Africa, observed in that country as Freedom Day, memorializing the 1994 election that was the first in which the country's black population was allowed to vote. In 2017 with Pittsburgh he batted.222/.323/.296.
Toronto Blue Jays
On 20 November 2017, Ngoepe was traded to the Toronto Blue Jays for cash considerations or a player to be named later. He earned a spot on the active roster to begin the season, and was optioned to the Triple-A Buffalo Bisons on 20 April, with whom he batted.168/.304/.252. With Toronto he had one hit in 19 at bats. He was designated for assignment on 3 May 2018. Ngoepe was released from the organization on 13 August 2018.
On 11 January 2019, Ngoepe signed a minor league contract with the Philadelphia Phillies. He played for the Class AAALehigh Valley IronPigs, and batted.221/.296/.410 with 5 home runs and 21 RBIs in 122 at bats, playing second base, third base, and shortstop. He was released on 20 June 2019.
Second stint with Pittsburgh Pirates
On 29 June 2019, Ngoepe signed a minor league contract with the Pittsburgh Pirates and was assigned to the Double-A Altoona Curve. He batted.100/.289/.100 in 30 at bats. He was released on 30 July 2019.
On 6 August 2019, Ngoepe signed with the Lancaster Barnstormers of the independent Atlantic League of Professional Baseball. He batted.289/.317/.632 with three home runs and seven RBIs for them in 38 at bats, playing seven games at shortstop and four games at second base.
Second stint with Sydney Blue Sox
Ngoepe returned to the Sydney Blue Sox of the Australian Baseball League for the 2019/20 season.
Personal life
Ngoepe's younger brother, Victor, plays in the Pirates organization.