Dempsey shot the hosts into the lead on 27 minutes at Lincoln Financial Field to guarantee them a place in the last eight from Group A along with Colombia, who play Costa Rica later Saturday.
But Jurgen Klinsmann's side were made to sweat through a nerve-jangling second half after DeAndre Yedlin's rash dismissal left the hosts playing with 10 men for more than 40 minutes.
Paraguay spent long periods in the US half but a backs-to-the-wall defensive display from the Americans saw them hang on for a gritty win.
The defeat sealed Paraguay's worst Copa America display since 2001, the last time they failed to progress beyond the group stage.
More From This Section
Klinsmann fielded the same starting line-up for the third match running, setting up his side in a conventional 4-4-2 with Michael Bradley and Jermaine Jones in the center of midfield shielding the back four.
A confident US opening period saw the hosts probe forward aggressively, although their first shot came from a setpiece, Fabian Johnson curling a free-kick over the wall in the sixth minute.
Only a superb covering tackle from John Brooks, intercepting Miguel Almiron as he bore down on goal, prevented what looked like being a certain Paraguay goal.
The opening exchanges also had a noticeable edge, with Celso Ortiz earning an early booking for a crude foul on Gyasi Zardes, only moments after he had flattened Johnson with a rough tackle.
Paraguay were the next to threaten however when Dario Lezcano's header was saved well by Brad Guzan at the American keeper's near post.
The US looked to be firmly in control of the contest leading to half-time, comfortably neutralizing the threat of Paraguay's attack.
Yet the complexion of the game was changed after a moment of madness from Yedlin early in the second half, the US defender picking up two yellow cards within seconds of each other to receive a red card.
It left the US needing to mount a massive rearguard action as Paraguay swarmed forward searching for a win that would see them advance.