His first recognizable roles in films came in 1995, as Pedro Aragon, Jr. in A Walk in the Clouds with Keanu Reeves and Giancarlo Giannini and as a Vietnam veteran in Dead Presidents with Larenz Tate and Chris Tucker. Rodriguez went on to roles such as Bruce in The Pest, an obnoxious jock in Can't Hardly Wait and the television show Scrubs as Carla's brother Marco. As a voice actor, he contributed the voice of Más y Menos on Teen Titans.
Rodriguez portrayed Federico Diaz on the hit HBO series Six Feet Under throughout its five seasons. For this role he received two Screen Actors Guild Awards for Best Ensemble in a Drama Series, an Emmy nomination for Best Supporting Actor in a Drama Series, and a further three SAG nominations (also in the ensemble category).
Rodriguez starred in the film Poseidon as a waiter who briefly survives the horrible rogue wave that overcame the ship. He played a vicious inner city drug dealer named Hector in the 2005 movie, Havoc. In 2006, he played Reggie, a character who only exercised one half of his body, in M. Night Shyamalan's film Lady in the Water. He has recently starred alongside Eva Longoria and Christian Bale in Harsh Times, his first leading character in a major theater release. He was seen on an episode of the hit hospital television show ER, where he played a dying comic inspired by Bill Hicks. He played a jockey in the movie Dreamer with co-star Dakota Fanning.
Rodriguez starred alongside Roselyn Sanchez in the 2003 movie Chasing Papi, playing "Victor" (directed by Linda Mendoza). He played busboy José Rojas in the 2006 film Bobby. He starred as El Wray in Planet Terror, Robert Rodriguez's portion of the double-feature film, Grindhouse. He played the role of Gustavo Brambila in the true-life story Bottle Shock. He appeared in the music video for the Santana song "Into the Night" and also made a cameo appearance as a pilot/flight attendant in the music video for the song "Glamorous" by Fergie. He starred in the popular video game Saints Row as the voice of Angelo Lopez and in the latest Merry Mixit Gap Christmas Commercial videos.
On July 13, 2007, Rodriguez was added to the cast of the ABC comedy series Ugly Betty, in which he played Giovanni Rossi, a sandwich shop owner who became the love interest for Betty Suarez (played by America Ferrera). He made his debut on the series at the start of the second season, appeared in an episode of the third season and reprised the role again late in the fourth season, which was the series' final one.[