Bowles was signed by the Washington Redskins as an undrafted free agent on May 7, 1986. He chose the Redskins over six other NFL teams, and signed a contract that included a signing bonus between $8,000 and $10,000. Bowles competed in training camp with free safetyRaphel Cherry, and beat him out to earn a spot on the regular season roster. In his second training camp in 1987, Bowles beat out Curtis Jordan for the starting free safety job when Jordan was released during final roster cuts on September 8, 1987. He was the starting free safety in Super Bowl XXII, which Washington won in a blowout. On February 1, 1989, after his contract expired, Bowles was left unprotected by the Redskins during "Plan B" free agency, despite being a regular starter at free safety the previous two seasons. This was reportedly due to his poor catching abilities in 1988, as well as his lack of playmaking ability. He negotiated contracts with the Dallas Cowboys, Minnesota Vikings, and New York Giants, but ultimately re-signed with the Redskins. In 1990, Bowles received a salary of $300,000, and started 18 games. The San Francisco 49ers signed Bowles to start for the team in 1991 after being left unprotected by the Redskins again. He played in all 16 games and started in 14 of them. He was waived during final roster cuts on September 1, 1992. He was claimed off waivers by the Redskins on September 2, 1992. He was waived by the Redskins during final roster cuts on August 31, 1993.
Coaching career
After retiring as a player, Bowles was a member of the Green Bay Packers' player personnel staff from 1995–1996. He was the defensive coordinator and secondary coach at Morehouse College in 1997, and the defensive coordinator and defensive backs coach at Grambling State from 1998–1999. He was the defensive backs coach for the New York Jets in 2000, Cleveland Browns in 2004, and Dallas Cowboys from 2005–2007. He was the Browns' defensive nickel package coach from 2001–2003.
Miami Dolphins
Bowles was hired by the Miami Dolphins as the team's secondary coach and assistant head coach on January 23, 2008. After nearly four seasons as the secondary coach and assistant head coach, he was named the interim head coach on December 12, 2011, following the firing of head coach Tony Sparano. Bowles' first game as interim head coach of the Dolphins came on December 18, on the road against the Buffalo Bills. The Dolphins won the game 30–23. The Dolphins finished 2–1 under Bowles in 2011.
Philadelphia Eagles
The Philadelphia Eagles hired Bowles as the team's secondary coach on January 30, 2012. The Eagles announced on October 16, 2012, that they dismissed defensive coordinator Juan Castillo from his duties and named Todd Bowles as their new defensive coordinator. Under Bowles, the Eagles finished the season ninth in pass defense and twenty-third in rushing defense.
Arizona Cardinals
On January 18, 2013, Bowles was hired as defensive coordinator for the Arizona Cardinals. On January 31, 2015, he was voted Associated Press 's Assistant Coach of the Year for his efforts in the 2014 season. Bowles received 22 of the 50 media members' votes, winning the inaugural award.
New York Jets
Days after the release of Rex Ryan, the New York Jets named Bowles their new head coach and signed him to a 4-year deal on January 14, 2015. On July 28, 2015, it was revealed that Bowles underwent a partial knee replacement surgery. In the 2015-2016 season, the Jets won 10 games under Bowles's first year leading the team, and the team would barely miss the playoffs. The 2016 season saw the Jets finish near the bottom of the league in most offensive categories, but 11th in rushing yards. On December 29, 2017, it was announced by the Jets organization that Bowles had been retained for the 2018 season, and signed an extension to continue as coach through 2020. On December 30, 2018, the Jets fired Bowles after finishing 4-12.
Tampa Bay Buccaneers
On January 8, 2019, Bowles was hired as the defensive coordinator of the Tampa Bay Buccaneers, rejoining Bruce Arians as a member of his staff after Arians was hired as the team's head coach.