A first-half goal from Clint Dempsey saw USA secure a crucial three points in Group A, sealing a place in the last eight.
DeAndre Yedlin was sent off early in the second half to make it tricky for his team, but they managed to hold on at Lincoln Financial Field in Philadelphia on Saturday.
Gyasi Zardes set up Dempsey with a good cross in the 27th minute for the game's only goal as USA moved onto six points.
A pair of bookings in a matter of minutes saw Yedlin sent off, but Paraguay were unable to make the most of their numerical advantage.
They struggled to break down the Copa hosts in the second half and bowed out in the group stage for the first time since 2001.
Jurgen Klinsmann stuck with the same starting line-up again after his side's 4-0 thrashing of Costa Rica last time out.
Paraguay made four changes, with the suspended Oscar Romero and injured Edgar Benitez among those making way, while Victor Ayala and Fabian Balbuena started.
After Fabian Johnson tested Justo Villar with a strike, USA needed some excellent defending from John Brooks to deny Paraguay.
A three-on-one counter-attack appeared certain to finish with a goal until Brooks' intervention.
Miguel Almiron was played in down the left and had options inside, but Brooks cut it out when the midfielder perhaps should have shot.
Dempsey fired a free-kick from just outside the area over the bar soon after, yet he found the opener in the 27th minute.
Zardes broke down the left and delayed crossing before picking out Dempsey in the centre of the area to put away the opener.
Paraguay should have been level in the final minute of the half, but Brad Guzan got down low to deny Dario Lezcano in a one-on-one from an angle.
Things were made far more difficult for USA just three minutes into the second half.
Yedlin picked up two bookings in a matter of minutes, the second for a poor sliding challenge from behind on Miguel Samudio.
Zardes saw an excellent opportunity go begging on the break, but it was Paraguay who were the more dangerous side.
Guzan was needed to keep USA ahead in the 82nd minute as he made a double save.
Substitute Jorge Benitez forced him into the initial one before he also denied Almiron from an angle on the rebound as USA held on.