Lucas Paqueta netted a first-half winner against Peru at the Nilton Santos Stadium to send them into the Copa America final.
The goal came following a nice move made by Neymar, who beat three defenders on the left before crossing for Paqueta to guide home the semi-final's only goal.
Brazil, who have won the Copa America every time they hosted the tournament, face either Argentina or Colombia in Saturday's final at the Maracana.
"I want Argentina, I am cheering them on," Neymar said. "I have friends there and in the final Brazil will win."
Paris St-Germain forward Neymar was a bright spark for Brazil as they again edged Peru, the side their beat in the 2019 final to lift the trophy for the ninth time.
Peru goalkeeper Pedro Gallese made a fine double save from point-blank range to deny Neymar and Richarlison early on.