Magadan's patience to await a pro career paid off in 1983, as the The New York Mets chose Magadan with the 32nd overall pick of the June draft, early in the second round, and after signing he made his professional debut with the Columbia Mets of the South Atlantic League. In 1983 he began his first full season with the Lynchburg Mets.

Magadan did not display much power as a prospect, but he consistently hit for a high batting average and displayed an excellent plate discipline, with a low strikeout rate and twice as many walks as strikeouts. He advanced steadily through the system, and appeared in his first major league game on September 7, 1986. His callup came too late for him to gain postseason eligibility during the Mets' World Series run that year, but he was an important part of their contending squads for the rest of the decade. On September 17, 1986, Magadan replaced the ailing Keith Hernandez at first base, in his first major league start. He went 3 for 3 and the Mets beat the Cubs 4-2, clinching the National League East division. Though blocked at third base by Howard Johnson and at first by Keith Hernandez, Magadan still found his way into the lineup on a semi-regular basis. He provided a quality bat in late-inning situations and a capable spot starter whenever a regular needed a day off. Manager Davey Johnson even went so far as to move Johnson to shortstop for 30 games a year, just to get Magadan more playing time.

Magadan came up as a third baseman, but saw playing time at first as well; and contrary to early reports of a mediocre glove, proved himself to be adequate at first, though certainly not in Hernandez' class.

Magadan's best season came in 1990, when he replaced Hernandez as the Mets' everyday first baseman, wresting the job from the ex-Dodger Mike Marshall. His .328 batting average ranked third in the league, and his .417 on-base percentage was good for second place. He also ranked eighth in walks and fifth in sacrifice flies, and even drew four points in MVP voting. Magadan never played so prominent a role again, but he continued to be a productive bat, leaving the Mets as a free agent after 1992 and changing teams frequently thereafter. He played for the Seattle Mariners, Florida Marlins, Houston Astros, Chicago Cubs, and Oakland Athletics in turn, finally retiring with the San Diego Padres after the 2001 season. Magadan appeared in 1,582 major league games and collected 1,197 hits. He finished his career with a .288 batting average, a .390 on-base percentage, and a .377 slugging percentage.

After his retirement as a player, Magadan went to work for the Padres in various instructional capacities. He was their minor league hitting instructor in 2002, and then their major league batting coach from 2003 to 2006. David has been married to wife Monique since 2000. They have a daughter, Peyton (8/5/04) together. David has two sons from his first marriage Jordan (11/7/88) and Christian (7/11/91).

As of June 15, 2006, David Magadan was fired from the Padres organization as their hitting coach due to an NL-low .252 batting average. According to an article at Padres.com, Magadan was "shocked" to be let go.

On October 20, 2006, Magadan was named hitting coach for the Boston Red Sox. The Red Sox would go on to see great improvements in batting average and slugging percentage, as well as leading the league in walks, in his first year as hitting coach, as well as being crowned World Series champions on October 28, 2007.