Velez signed with the New York Yankees as an amateur free agent on December 23, 1969, and worked his way through their minor league system and made his Major League Baseball debut with the team on September 4, 1973, where he recorded his first hit off Detroit Tigers pitcher Mickey Lolich. Velez hit his first career home run on September 23 off Dick Tidrow of the Cleveland Indians in the second inning, then hit another home run in his next at-bat against Tidrow in the fourth inning to lead the Yankees to a 9–1 victory over Cleveland. Velez finished the season hitting.195 with 2 HR and 7 RBI in 23 games with the Yankees. Velez played in 27 games with the Yankees in 1974, batting.209 with 2 HR and 10 RBI, then in 1975, he hit.250 with 0 HR and 1 RBI in six games with New York. Velez saw more playing with the Yankees in 1976, playing in 49 games, as he hit.266 with 2 HR and 10 RBI, as New York reached the post-season. Velez appeared in one game, going hitless in one at-bat in the American League Championship Series against the Kansas City Royals. In the 1976 World Series against the Cincinnati Reds, Velez went 0 for 3 and struck out three times, as the Yankees lost the series. On November 5, 1976, Velez was drafted by the Toronto Blue Jays in the 1976 MLB expansion draft.
Toronto Blue Jays (1977–1982)
Velez was named the Toronto Blue Jays opening daydesignated hitter in their first ever game on April 7, 1977, as he went 2 for 4 with a run, helping Toronto defeat the Chicago White Sox 9–5. Velez was named American League Player of the Month for the month of April, as he hit.442 with 5 HR and 18 RBI in 21 games. He had a very solid first season in Toronto, finishing the season with a.256 batting average with 16 HR and 62 RBI in 120 games. Velez saw his offensive production dip in 1978, as he hit.266 with 9 HR and 38 RBI in 91 games, but despite appearing in only 99 games in 1979, Velez improved to a.288 batting average with 15 HR and 48 RBI. Velez had his best season in 1980, as in 104 games, he hit.269 with 20 HR and 62 RBI. On May 4, Velez hit four home runs in a doubleheader against the Cleveland Indians, and this feat was notable in that Velez hit one of each possible home run in the doubleheader, that is, a solo, two-run, three-run home run as well as a grand slam, therefore "hitting for the cycle" in home runs. His home run and RBI totals were the second highest on the team. Velez struggled in 1981, appearing in 80 games, batting.213 with 11 HR and 28 RBI. In 1982, Velez appeared in only 28 games with Toronto, hitting.192 with 1 HR and 5 RBI. On September 7, the Blue Jays released Velez.
Cleveland Indians (1983)
On 7 February 1983, Velez signed with the Cleveland Indians as a free agent. He would play in only 10 games with the Indians, hitting.080 with 0 HR and 1 RBI. He retired after the season. Velez appeared in 637 games during his career, hitting.251 with 78 HR and 272 RBI. He collected 452 career hits. In four career playoff games, Velez had four at-bats, getting no hits and striking out three times.