Gabriel got the winning kick for Brazil after Gustavo Gomez and Derlis Gonzalez missed for the visitors. Roberto Firmino pulled his spot kick wide for the hosts.
Brazil, who have yet to concede a goal in their first four games, will next face the winner of Friday’s quarter-final between Argentina and Venezuela in Belo Horizonte next Tuesday.
Gabriel Jesus had missed a penalty against Peru in their last group game and said he went back to his tried and tested technique on Thursday.
"In the last game I didn’t look at the keeper and I hit it hard straight away and the goalie made a good save," he added.
Today I did it my usual way, I looked calmly at the keeper and I could see him moving to the left and I side-footed it the other way.
After a foul strewn and unexciting first half, Brazil took control when Fabian Balbuena was sent off in the 58th minute for fouling Firmino as he bore down on goal.
The referee gave a penalty but changed it to a free kick on the edge of the area after consulting the video assistant referee (VAR).
Dani Alves Brazil Paraguay Copa America
Image credit: Getty Images
The sending off then saw the home side lay siege to the Paraguayan goal but without joy, Everton seeing a shot deflected over the bar, Gabriel Jesus pulling a gilt-edged chance wide, and Willian hitting the post in the last minute.
"We created lots and lots of chances, the ball hit the woodwork, the goalkeeper worked miracles, but the fans helped us and we never gave up," said midfielder Arthur.
"We know what football is like, it’s about small details, and we couldn’t win but we felt the good energies and we managed to get through on penalties."
Goalkeeper Alisson, who like Arthur started his career in Porto Alegre, saluted his team-mates.
"This is a team that deserved the win today," Alisson said.
"It was a draw but against a team that didn’t want to play unless it was on the counter attack. We’ve gone up one step, two more to go to our objective, to be Copa America champions."
In the other two quarter-finals, Colombia play Chile and Uruguay take on Peru.