Cha began his football career with the South Korean Air Force club in 1971, the same year he became a Korean U-19 international. He attracted the attention of Friedel Rausch while playing for the national team and he began his career in the Bundesliga at age twenty-five, after he had completed the compulsory military training for all South Korean men. He was widely considered one of the best forwards in the Bundesliga throughout his career. In December 1978, he was transferred to SV Darmstadt, where he spent less than a year before being snapped up by Eintracht Frankfurt. Cha made an immediate impact with his new club, scoring in three consecutive games. Frankfurt went on to win the UEFA Cup in the 1979–80 season and Cha was awarded Man of the Match in the final. He became the third-highest-paid footballer in Germany. In the 1981 season, he suffered a near career-ending knee injury in a game against Leverkusen, an incident that nearly led to a riot by Frankfurt fans. Cha recovered in time for the German Cup Final, where he scored a goal in Frankfurt's 3–1 victory. However he would transfer to Bayer Leverkusen in 1983. He won a second UEFA Cup with them in 1988. Cha scored a dramatic equaliser against Espanyol to tie the game 3–3. Leverkusen eventually went on to win the game on penalties, their first major tournament victory.
Cha retired in 1989 after a long Bundesliga career spanning 308 games in which he scored 98 goals (none from penalty kicks), then the highest for a foreign player in the league. Over his 10-year career, he received only one yellow card.
Cha made his debut for the national team when he was nineteen years old and still a student at Korea University. Due to his prestigious position in the Bundesliga the German FA offered to naturalise him, which would allow him to play for Germany. However he turned down the offer due to his desire to improve the level of Korean football. He played at the 1972 Asian Cup where he scored a goal and reached the final before the team lost to Iran. He was part of the South Korean national team in the 1978 Asian Games where the team jointly won the Gold Medal with North Korea due to the final ending in a 0–0 draw. His last international tournament was the 1986 FIFA World Cup finals in Mexico, South Korea's first appearance since 1954. Cha had retired from international duty but was convinced to come back to the team for the tournament. South Korea lost to Argentina and Italy but earned a draw against Bulgaria. The opposing teams were fully aware of Cha's scoring abilities and frustrated him by marking him with two defenders at all times. He did not score any goals in the tournament. Looking back, he recalled: "We didn't achieve our first win but the campaign was not disappointing as we played hard and well against the best teams in the world, including the eventual champions Argentina." Cha retired from international football permanently following the tournament.
Cha moved into management with K-League side Ulsan Hyundai Horang-i, coaching them from 1991–1994. His next appointment in January 1997 was Korean national team coach and he led the nation to the 1998 FIFA World Cup; however, a disastrous 5–0 defeat at the hands of The Netherlands in Korea's second group game got Cha fired. He later blamed the Korea Football Association for the bad performance, citing lack of bonuses and alleging pro soccer games in Korea were fixed. The KFA promptly slapped a five-year ban on him and he soon left the country with his wife.
Cha is a devout Christian and list the three most important things in his life as 'family, religion and football'. Bum-Kun's second child, Cha Du-ri, is following in his father's footsteps. The younger Cha played in Germany and was converted from forward to defender, and now plays for FC Seoul after having his contract terminated with Fortuna Dusseldorf.
Cha is widely considered to be the best South Korean footballer of all time, as well as the best Asian player. In light of this he was labelled Asia's Player of the Century for his breakthrough performances in the Bundesliga during a time when few Asians played in European leagues. He has since been considered one of the best players to play in the Bundesliga, and received praise from his peers.Alex Ferguson called him "unstoppable" following Aberdeen's loss to Frankfurt and Lothar Matthäus called him "the best attacker in the world" after Frankfurt's victory in the 1980 UEFA Cup Final.
Cha's record of 17 league goals in the 1985–86 season remains as the highest goal-tally achieved by an Asian player in Bundesliga history. The finest effort to date in attempt to match Cha's feat was delivered by Iranian striker Vahid Hashemian, who scored 16 goals during the 2003–04 season with Bochum.
Cha is South Korea's all-time leading scorer with 55 goals in international A matches.