The Wales international, who also netted an impressive goal against Juventus last week, put Los Blancos in complete control with 15 minutes played.
Roma did pull one back late on in New Jersey through Kevin Strootman, but Madrid held on for victory in their final pre-season outing.
After a delayed kickoff due to the bad weather conditions, it did not take Julen Lopetegui's men long to get going as Bale's impressive pass from the left gave Marco Asensio a chance to control the ball and side-foot under Robin Olsen.
Building on that two-minute lead, Madrid doubled their tally soon after through Bale's smart finish into the near corner after cutting inside Ivan Marcano.
Madrid were in complete control of the match, and they would have had a third with 37 minutes played if not for Marcano's block in front of goal to keep out Asensio's strike.
Roma, who have conceded a goal in the first 10 minutes in all three of their International Champions Cup matches, offered next to nothing in the first half and only improved slightly in the second.
New Madrid recruit Vinicius Junior blasted over the bar from range from his first involvement in the match, while up the other end Patrick Schick inexplicably headed wide of the post when picked out unmarked in a good position.
The Giallorossi did register seven minutes from time thanks to Strootman's back-post finish, with Madrid failing to deal with a long throw, but the best of the remaining chances fell Madrid's way as Borja Mayoral flashed one wide.
REAL MADRID (4-3-3): Navas; Rodriguez (Leon 71'), Nacho (De Thomas 81'), Ramos (Sanchez 46'), Carvajal (Galache 71'); Isco (Valverde 56'), Kroos (Llorente 46'), Ceballos (Odegaard 71'); Asensio (Vinicius 57'), Benzema (Mayoral 57'), Bale (Lucas Vazquez 56')
ROMA (4-3-3): Olsen (Mirante 46'); Florenzi (Karsdorp 63'), Fazio (Manolas 46'), Marcano (Jesus 63'), Kolarov (Santon 71'); Cristante (Pellegrini 46'), De Rossi (Gonalons 46'), Pastore (Strootman 63'); El Shaarawy (Schick 46'), Dzeko (Coric 71'), Perotti (Kluivert 46')