Holmes played high school basketball in his native town of Okmulgee, Oklahoma: he was a nationally ranked power forward, and averaged 16 points and 10rebounds per game during his junior year. For his senior year he improved his averages to 21.9 points and 11 rebounds per game, and was selected in the Super 5, the list of the top 5 players in the state of Oklahoma by The Daily Oklahoman. He also won the state championship, beating McLain High School 55–51 in the final game during which he was the top scorer with 15 points.
College career
During his high school career Holmes was recruited by 50 colleges, and restricted his choice between Houston and Oklahoma: he ultimately chose the latter, and signed to play for the Sooners in November 1986. However, in 1987 he was deemed academically ineligible according to the newly established Proposition 48, and had to sit out his first season. He regained his eligibility in 1988 and played his first season receiving limited playing time from coach Billy Tubbs: Holmes played 10 games, averaging 2 points and 2.3 rebounds in 5.6 minutes per game. He played 1 game during the 1989 NCAA Tournament against Louisiana Tech, recording 2 rebounds in 3 minutes. While he played primarily as power forward during his high school career, his good ball handling and his shooting skills made him more of a small forward in college. In his junior year Holmes played more consistently, and recorded 26 appearances during the season, with increased playing time, and averaged 5 points and 4.1 rebounds. He recorded another appearance during the NCAA Tournament against Towson, and recorded 2 rebounds in 3 minutes, missing all 3 of his field goals. Holmes' senior year was his best at Oklahoma: coach Tubbs promoted him to the starting five, and Holmes recorded 30 starts in 31 games played. He averaged career-highs in all statistical categories with 14.8 points, a team-best 9.3 rebounds, 1.3 assists, 1 steal and 0.4 blocks per game in 30.8 minutes. His 289 rebounds ranked him 4th in the Big 8 both in total rebounds and rebounding average, and at the end of the season he was named the team MVP. He ended his career with the Sooners with 610 points and 419 rebounds.
College statistics
Professional career
After the end of his senior season, Holmes was automatically eligible for the 1991 NBA Draft, but he was not drafted by an NBA franchise. He was drafted by the Columbus Horizon in the 1st round of the 1991 CBA draft. In his rookie season in the CBA he started 53 out of 56 games for the Horizon, averaging 17.5 points, 7.3 rebounds and 1.6 assists in 37.7 minutes per game, and was selected in the All-Rookie team. In 1992 he moved to the New Jersey Jammers of the United States Basketball League, and played their last season. He then went back to the Columbus Horizon and played the 1992–93 CBA season there, averaging 8.5 points and 3.6 rebounds per game in 51 appearances. He signed for the Oklahoma City Cavalry after being traded 4 times in a day during the 1993 offseason: he was initially traded from the Columbus Horizon to the Rochester Renegade, which then traded him to the Hartford Hellcats, which again traded him to the Rapid City Thrillers that ultimately traded him a fourth time to the Oklahoma City Cavalry in exchange for Dell Demos and a sixth round pick in the 1993 CBA draft. In his first year with the Cavalry he averaged 14.7 points and 5.8 rebounds: in the summer of 1994 he transferred to the Westchester Stallions of the USBL and earned All-USBL Second Team honors. He started the 1994–95 CBA season with the Rockford Lightning, and was traded after 8 games to the Mexico City Aztecas in December 1994 for a first-round pick in the 1995 CBA draft. He ended the season with the Aztecas, averaging a career-high 20.9 points and 5.3 rebounds in 37.9 minutes per game over 44 appearances. In the 1995 offseason Holmes signed again for the Oklahoma City Cavalry and earned All-Star honors for the 1995–96 season, averaging 17.2 points, 5.3 rebounds and 2.1 assists in 37 minutes per game, having started all 56 games of the regular season: he also reached the CBA playoffs for the first time in his career, and in 4 games he posted averages of 19.8 points and 6 rebounds in 39.5 minutes. He chose to stay in Oklahoma City also for the following year, and won the 1996–97 CBA championship. In 1997 he moved to Europe, signing for Turkish team Emlakbank Ortaköy, where he played 15 games, averaging 19.5 points, 8.8 rebounds and 1 assist per game while shooting 49% from the field and 37.6% from the 3-point line. In 1998 he came back to the United States and signed for the Quad City Thunder, winning another CBA championship in 1998. After a brief stint in France with LNB Pro B team Étoile Angers, which released him in September 1998, he played his last season in the CBA averaging 13 points, 5.6 rebounds and 1.7 assists in 35 minutes per game. He then signed for the St. Louis Swarm, a franchise of the newly established International Basketball League, but played only 4 games before transferring to the Richmond Rhythm: he played 54 games with the Rhythm, starting 36 and averaging 9.9 points and 4 rebounds in the 1999–00 season. He signed for the Trenton Shooting Stars in 2000, and played his last season of professional basketball with the team in the IBL. He ranks 11th all-time in the CBA for points scored with 5,760.
National team career
Holmes was selected in the United States national team for the FIBA Americas Championship 1997, in a team formed by CBA players: during the tournament he played 9 games, averaging 8.1 points and 0.9 rebounds. Two years later he was called up again by Team USA for the 1999 Pan American Games where he played 5 games averaging 5.2 points and 3.0 rebounds. He earned a total of 14 appearances with the US national team.