The Liverpool No.9 started the last-eight encounter in Rio de Janeiro before making way for Lucas Paqueta at half-time.
Paqueta netted the game's decisive goal in the 46th minute as Brazil were then reduced to 10 men following Gabriel Jesus' dismissal.
Alisson Becker and Fabinho were unused substitutes in the victory, which set up a meeting with Peru in the last four.