The win left the Americans in first place with two wins in two games in Group B. They'll move into Saturday's final with a win or tie over Italy on Thursday.
USC's Amy Rodriguez scored the game's only goal in the 41st minute off Aly Wagner's free kick for her fourth international goal.
"I thought the first half was just a battle, so we changed the style and formation [in the second half]," said U.S. head coach Pia Sundhage. "We didn't play well attacking [in the first half], although the defending was good. I am very proud with the way we turned it around. We changed so many players and that is difficult for a team coming into the second half, but I think we played better."
The USA lost two players in the game with injuries Midfielder Carli Lloyd suffered a broken nose about 10 minutes into the game while jumping for a head ball and had to be replaced by Angela Hucles. Captain Christie Rampone came off at halftime after she injured an ankle just after the USA's goal.
Sundhage made three changes at halftime, sending on Heather O'Reilly to replace Wagner (who had started her first match in about eight months), Rachel Buehler to replace Rampone and Stephanie Cox to replace Lori Chalupny. The USA moved to a 4-5-1 for most of the second half, dropping Abby Wambach in behind Rodriguez on the forward line.
Brazil fielded only four starters -- Aline, Tania, Maycon and Ester -- from last year's Women's World Cup semifinal in which it trounced the Americans, 4-0.
The match was the first of three games the USA will play against Brazil before the 2008 Olympics. The two teams will also meet on July 13 at Dick's Sporting Goods Park in Commerce City, Colo. (2 p.m. MT live on ESPN) and then again on July 16 at the University of San Diego's Torero Stadium (7 p.m. PT live Fox Soccer Channel).
June 17 in Suwon
USA 1 Brazil 0. Goal: Rodriguez 41.
USA -- Solo, Mitts, Rampone (Buehler, 46), Markgraf, Chalupny (Cox, 46), Boxx, Lloyd (Hucles, 13), Wagner (O'Reilly, 46), Tarpley (White, 79), Rodriguez, Wambach.
Brazil -- Barbara, Aline (Andrea, 7; Juliana, 64), Tania, Rosana (Daniele, 61), Maycon, Erika, Daiane (Danielle, 77), Ester, Maurine, Francielle, Fabiana (Raquel, 68).
Referee: Jenny Palmqvist (Sweden).