He made his major league debut with the Rangers on September 8, 1978. He pitched two innings of relief in an 11-4 loss against the Oakland Athletics, giving up one run and two hits. On September 24 of the same year, he made his first major league start against the Seattle Mariners. He pitched six innings, giving up eight hits, striking out seven, and allowing only one walk to record his first victory. Darwin did not become a full-time starter until 1981, a strike-shortened season. He made 22 starts that year, carving out a 9-9 record with a 3.64 ERA. He pitched almost exclusively out of the bullpen in 1982, but returned to the Texas rotation the following year. He was traded to the Milwaukee Brewers on January 18, 1985 as part of a four-team deal with the Royals and Mets. He made 29 starts for Milwaukee during the 1985 campaign, posting a record of 8-18. He was traded during the 1986 season to the Houston Astros for Mark Knudson and Don August. He remained with Houston through 1990, gradually being switched from a starting pitcher to a reliever by his last years with the Astros. In his final season in Houston, he was 11-4, 2.21 era in 48 games to win the National League ERA title. He signed with the Boston Red Sox as a free agent after the season and pitched with them for four seasons, both as a starter and a reliever. After leaving the Red Sox, he had a shaky season in 1995, starting with the Toronto Blue Jays, but being cut midway through the season and signing with the Texas Rangers again. His return to Texas was short lived as he spent the last three years of his career bouncing around between teams. He signed with the Pittsburgh Pirates in 1996, who traded him back to the Astros at mid-season. Then he signed with the Chicago White Sox in 1997, only to be dealt at the trading deadline to the San Francisco Giants as part of a multi-player deal that sent Wilson Álvarez and Roberto Hernández to the Giants and Keith Foulke, Bob Howry, Lorenzo Barceló, Mike Caruso, Ken Vining, and Brian Manning to the White Sox in what became known as the White Flag Trade. He finished his career in 1998, pitching 1/3 of an inning for the Giants in his final appearance against the Pirates. Danny's younger brother, Jeff Darwin, also had a professional baseball career that lasted eleven years. Jeff, who also graduated from Bonham High School, spent parts of three seasons in the majors, including 1996–1997 with the Chicago White Sox. Both Danny & Jeff were in the White Sox organization in 1997 but Danny was traded on July 31 and Jeff was not called up from the Minors until August 17. In 1998 again they were both with the Giants but Jeff spent the year at AAA and was not called up.
During a brawl between the Phillies and the Giants, Orel Hershiser claims Darwin punched him in the face. At the time, the two were teammates. Hershiser claimed it was retribution for Hershiser hitting Darwin back when he was pitching against him.