On November 5, 1976, Woods was selected by the Toronto Blue Jays in the 1976 Major League Baseball expansion draft. He was in the Blue Jays' opening day lineup for the debut game on April 7, 1977, batting fifth. "I remember the snow on the field and I remember Doug Ault and I remember the excitement in the city," Woods told the Toronto Star in an article that was published on October 8, 1985. "I was a young ballplayer very excited to be part of a building experience. It was a really neat feeling. But of course we played like an expansion team and I played like a guy who wasn't quite ready for the major leagues." Woods was sent out to Triple-A during the 1977 season as he struggled with the bat, and was later brought back to Toronto to get some more playing time. 1978 was a different story as Woods did not make the team in the spring, spent the full Triple-A season in the minors, finally getting a call up when the Major League rosters expanded in September. By then he was no longer in the Jays' plans.
Houston Astros
On December 5, 1978, Woods was traded to the Houston Astros for minor league outfielder Don Pisker. Woods spent 1979 and most of 1980 in the minors, playing again for the Triple-A Tucson Toros, which by this point had shifted affiliations from Oakland to Houston. In late 1980, Woods was called up to the majors, hitting.377 in 19 games. Woods also went 2-for-8 in four games in the Astros' League Championship Series in 1980. In the strike-shortened 1981 season, Woods platooned with Terry Puhl in the outfield, helping the Astros reach the West Division playoffs against the Los Angeles Dodgers. "I really felt I was a big part of them getting there," he told the Chicago Tribune in an article that was published on September 11, 1986, referring to the playoffs. "Of course, I may have also played a big part in them not getting to the World Series when I left third base too soon in one of the games."
Chicago Cubs
On December 9, 1981, Woods was traded to the Chicago Cubs for Jim Tracy and was pressed into service as a starting center fielder when prospect Ty Waller failed early. "I was batting about.350 after 150 at-bats," Woods told the Chicago Tribune in the September 11, 1986 article. "But they decided to put Keith in the outfield and they wanted to play Steve Henderson to see if they could trade him. I sat down and never got a chance to get back in." Woods finished the 1982 hitting.269 in 117 games and never committing an error. Woods played for the Cubs in limited amounts in the 1983, 1984 and 1985 seasons. One highlight was getting to play in the 1984 National League Championship Series against the San Diego Padres. In one game, Woods went 0-for-1 and played outfield. Woods tried to continue his career in 1986 after being cut by the Cubs in spring training despite hitting.286. At that point, Padres then-minor league manager Larry Bowa asked the Padres to sign Woods to a minor league contract, and Woods played a full season at the Padres AAA Las Vegas minor league club before retiring. "I have no regrets," Woods told the Chicago Tribune in the September 11, 1986 article. "There are a whole lot of guys with more talent than I ever had who never got the opportunity. I went to the big leagues, went down, made it back and stayed for six years. I know I can look in the mirror and say I did all I could to be the best possible player I could be."