A classy Rodolfo Pizarro goal and Elias Hernandez penalty put Mexico in control at CenturyLink Field in Seattle.
Antonio Bareiro's header brought Paraguay back into the game before the break, but the hosts held on for a second friendly win in four days.
With their first-choice squad away at the Confederations Cup in Russia, a Mexico of entirely domestic-based players are preparing for the Gold Cup beginning in the United States on Friday.
Mexico made four changes to the XI which edged Ghana 1-0 in Houston on Wednesday.
Jose de Jesus Corona replaced Moises Munoz in goal, while Jair Pereira took Hugo Ayala's spot in defence.
Meanwhile, Alan Pulido – who suffered what appeared to be a serious shoulder injury – and Orbelin Pineda were handed starts in place of Angel Sepulveda and Erick Gutierrez against a Paraguay side made up of almost entirely domestic-based players.
Pizarro gave Mexico a 19th-minute lead with his second international goal.
Paraguay goalkeeper Antony Silva had made a terrific save to deny Pineda before his team's failure to clear led to Pizarro's chance.
The Guadalajara midfielder created space for a shot with a drag back before curling an effort into the top corner.
Hernandez, whose penalty was the match-winner against Ghana, doubled the lead from the spot seven minutes later, although Silva got a hand on the shot.
Paraguay pulled a goal back in first-half additional time through Bareiro.
The midfielder headed a corner onto the post but reacted quickest to put away the rebound.
Mexico held firm in the second half to claim another victory ahead of the Gold Cup, but a shoulder injury to Pulido soured the win.