Villanueva first played for the Ateneo Blue Eaglets in the UAAP Juniors division leading them to numerous winning seasons and championships. He moved to the college ranks in 1998 and led the Ateneo Blue Eagles to several final four appearances and two UAAP Finals appearances, eventually winning the basketball crown in 2002 over their rivals, the De La Salle Green Archers.
He also had several chances to win the Most Valuable Player award but lost to DLSU's Don Allado in 1999 and teammate Rich Alvarez in 2000 and 2001 before finally winning it in his final season in 2002.
In the Philippine Basketball League, Villanueva began playing with Blu Detergent in 1999 before leading the Ateneo sponsored Hapee-NENACO team to the PBL title in 2002 over his former team Blu.
In 2003, Villanueva applied for the 2003 PBA draft, in one of the deepest drafts in PBA history. He was eventually selected seventh overall by Batang Red Bull Thunder. In his rookie season, he averaged modest numbers of 7.4 points and 4.5 rebounds playing a limited role as a reliever of veterans Davonn Harp and Mick Pennisi.
However, after Harp and Pennisi were shelved for failing to further prove their Filipino lineage (Pennisi has since returned to the league), he saw his playing time increase along with his production. Despite a sorry performance in the 2004-05 PBA Philippine Cup, he managed to lead Red Bull to a fourth-place finish in the 2005 PBA Fiesta Conference. By season's end, he was named as the Most Improved Player by the league and became the new face of the franchise.
In the 2005–06 PBA season, he became a two-time All-Star representing the North All-Stars. He led Red Bull to the 2005–06 PBA Fiesta Conference championship where he was named as the Best Player of the Conference over Purefoods' Kerby Raymundo.
He again led the Bulls to the finals in the 2006 PBA Philippine Cup but lost to Purefoods, 4-2, in a rematch of the Fiesta Cup finals. By season's end, he was included in the PBA Mythical Team but lost in the MVP race to Purefoods' James Yap.
In May 2007, Villanueva was traded to the San Miguel Beermen for Rommel Adducul. At the time the trade was being consummated, he was playing for the national team.
On March 26, 2008, Purefoods center Rommel Adducul announced that he had cancer and would not be able to play while getting treatment. His team, Purefoods, was then forced to look for a legit center and turned to Villanueva to fill the void. In a four-team trade, Purefoods acquired Villanueva, sending energetic forward Marc Pingris to San Miguel (known as Magnolia at that time).
In 2009, Villanueva was then shipped to Ginebra in a three-team trade which involved the Kings, Purefoods and Burger King. While playing for Ginebra, he reunited with college teammates Rich Alvarez and Paolo Bugia, and was tasked to back up oft-injured Eric Menk.
In 2012, Villanueva was shipped to Barako Bull via a complicated five-team, eight-men trade.
On November 9, 2012, he suffered an anterior cruciate ligament (ACL) injury after hurting his right knee in a game against Air21. He incurred a similar injury two seasons ago on his left knee while playing for Ginebra.
In 2013, Villanueva was traded to GlobalPort Batang Pier for Willie Miller and Hans Thiele. In his first official function in his new team, he appeared on stage together with the GlobalPort players during the 2013 PBA draft. However, only appeared seven games in a GlobalPort uniform as he was still recuperating from his injuries.
On March 18, 2014, PBA Commissioner Chito Salud approved the trade that sent Villanueva to Air21 Express for Carlo Sharma and Ronnie Matias. When NLEX bought the franchise from Air21, he was one of the veteran players absorbed by the new team, now known as NLEX Road Warriors.
On October 13, 2014, he stated that he skipped most of last season as he underwent tedious rehabilitation process in both knees for him to get back healthy for the next season. He also mentioned that the influx of younger, athletic, and bigger players has challenged him to “reinvent” himself to find his place in the rotation of incoming NLEX coach Boyet Fernandez.
Villanueva was a member of the Team Pilipinas, the RP team coached by Chot Reyes. He played for the country in the 2005 FIBA Asia Champions Cup and the 2005 Brunei Cup. He is remembered during the Champions Cup for pulling the leg of Sagesse Lebanon's Stephen Howard after an altercation, resulting in his ejection. He also suited up for the team again in the 2007 FIBA Asia Champions Cup, 2007 SEABA Championship and the 2012 William Jones Cup.
Villanueva is married to Nobina "Bing" Hao.
Villanueva is vividly remembered for his on and off the court feud with former college rival and one-time teammate at Air21, Joseph Yeo.
Their feud began during the PBA-sanctioned Ateneo-La Salle Dream Games in December 2005, pitting past and present Ateneo and La Salle players in an exhibition game. The incident saw Yeo elbowed Villanueva at the forehead, resulting in Yeo's ejection from the game. Villanueva eventually hit the game-winner in that contest. At that time, Yeo was still an amateur playing for Harbour Centre in the Philippine Basketball League and since it was a PBA-sanctioned game, commissioner Noli Eala gave Yeo a three-month probation after being selected by Coke in the 2006 PBA draft.
Another incident happened during a 2006 PBA preseason game at the Emilio Aguinaldo College Sports Center in Manila when both players were reportedly involved in a physical and verbal exchange. However, the league did not sanction both players.
The most recent came in a 2006–07 Philippine Cup game between Red Bull and Coca-Cola at the Araneta Coliseum. A physical exchange happened during the waning moments of the first half between both players. But after the game, a parking lot incident broke between Yeo and Villanueva. They were both sanctioned with fines by the commissioner and both players have since promised to end the feud.
On September 26, 2014, a tune-up game between Rain or Shine and NLEX was stopped after he and his former college rival, Rain or Shine guard Ryan Araña exchanged blows. As a result of the altercation, he was fined Php 40,000.
Correct as of September 23, 2016