Willis made his major league debut with the Tigers on June 9, 1984, against the Baltimore Orioles, tossing 2+1⁄3 scoreless innings in a 4–0 loss.[4] He made 10 appearances (two starts) with Detroit, going 0–2 with a 7.31 ERA.[5] On September 1, Willis was acquired by the Cincinnati Reds to complete an earlier trade for relief pitcher Bill Scherrer.[6] He went 0–1 with a save and a 3.72 ERA in seven relief appearances to close the season.[5] Willis spent the next three seasons splitting time between the Reds and their minor league system.[5] On December 10, 1985, Willis was selected by the California Angels in the Rule 5 draft,[7] but he was returned to the Reds on April 6, 1986.[5]
On December 6, 1988, Willis was acquired by the Chicago White Sox.[5] After splitting time between the White Sox and Cleveland Indians organizations, he was signed by the Minnesota Twins on December 12, 1990. In 1991, Willis began a career turnaround, going 8–3 with two saves and a 2.63 ERA in 40 relief appearances.[5] The next season, he posted the best season of his career, finishing with a 7–3 record, one save, and a 2.72 ERA in 59 relief appearances.[5]
Willis continued to pitch for the Twins until May 4, 1995, when he was released after a disastrous start to the season.[8] He signed with the Angels on June 27, and pitched the remainder of the season in Triple-A before retiring.[5]
Willis began his coaching career in 1997 as the pitching coach for the Rookie-level Watertown Indians.[10] In 2001, Willis hired as the pitching coach for the Buffalo Bisons, Cleveland's Triple-A affiliate. He spent two seasons in Buffalo before being hired in the same role for the Indians on March 19, 2003.[10] In 2005, Cleveland posted the best ERA in baseball (3.61) for the first time since 1996.[10] In 2007, the Indians' starting rotation compiled the lowest ERA in the American League (4.19), and their entire staff allowed 410 walks, the fewest allowed by the team in a full season since 1920.[10] On September 30, 2009, it was announced that Willis would not be retained for the 2010 season.[11]
On November 30, 2009, Willis was named the Seattle Mariners minor-league pitching coordinator.[12] On August 9, 2010, Willis was promoted to the Seattle Mariners coaching staff as the new pitching coach, replacing Rick Adair, who was fired along with manager Don Wakamatsu and bench coach Ty Van Burkleo.[13] Willis was fired by the Mariners on November 22, 2013.[14]
In 2015, Willis was named to be the pitching coach for the Columbus Clippers, marking a return to the Cleveland Indians organization.[15] On May 9, 2015, Willis was named as the pitching coach for the Boston Red Sox, replacing Juan Nieves.[16]
On October 26, 2017, Willis was re-hired by the Indians as pitching coach, replacing Mickey Callaway.[17]
In May 2022, Willis assumed managerial duties for a few games after a COVID-19 outbreak within the team sidelined multiple coaches, including manager Terry Francona.[19]