Messi converted a 57th-minute spot-kick after Argentina had fallen behind to a Richard Sanchez goal in Belo Horizonte.
Argentina goalkeeper Franco Armani was needed to keep his side level shortly after the hour-mark, though, saving a Derlis Gonzalez penalty.
While Argentina enjoyed the better start, the game lacked any rhythm in the opening 20 minutes after numerous fouls and stoppages.
It was Paraguay who created the best chance of the opening half-hour, Gonzalez's strike deflected just wide after a counter-attack.
Messi had an opportunity for Argentina in the 34th minute, but the Barcelona star's free-kick from 30 yards lacked the power to trouble Paraguay goalkeeper Roberto Fernandez.
Paraguay would break the deadlock before half-time through Sanchez's first international goal.
Newcastle United midfielder Miguel Almiron set up the goal with a brilliant run down the left, before crossing for Sanchez to finish into the bottom corner from inside the area.
Lautaro Martinez hit the crossbar for Argentina six minutes into the second half after good work from half-time substitute Sergio Aguero, but it was that moment that led to the equaliser.
Argentina were awarded a penalty after a VAR review, with replays showing Martinez's strike hit the arm of Ivan Piris.
Messi stepped up, putting the penalty into the bottom corner for his 68th international goal.
However, Paraguay were awarded a spot-kick of their own after a poor challenge by Nicolas Otamendi on Gonzalez, but Armani dived low to his left to push away the penalty in the 63rd minute.
Martinez headed over soon after for Argentina and both teams struggled to create chances late on as they shared the spoils.
What does it mean? Argentina's fate out of their own hands
Lionel Scaloni's men needed a win against Paraguay to get back on track, but will now be left relying on other results going their way. They will look to beat Qatar in their final group game and that may not be enough to finish in the top two, although they could also be one of the two best third-placed teams.
Argentina retain unbeaten record
It was only a draw, but Argentina retained their record of never losing to Paraguay at the Copa America. That run is now up to 25 games, including 19 wins and six draws.
Aguero, Di Maria benching continues confusion
Scaloni opted for four changes to his starting XI from the team beaten by Colombia, including dropping Aguero and Angel Di Maria to the bench. Both were introduced in the second half and the former caused some problems, but it indicated some uncertainty from Scaloni regarding his best XI.
Key Opta Facts:
- Messi netted his fifth goal against Paraguay, the most he has scored against any side playing for Argentina – all five of them came from set pieces (one direct free kick, four penalties).
- Paraguay are winless in their nine Copa America games, drawing five and losing four – with only one win in their last 19 games against Jamaica in 2015.
- Almiron gave his second assist in the 2019 Copa America – the previous Paraguay player to assist more than one goal in a single Copa America tournament was Edgar Barreto (three) in 2007.
- Messi was the only Argentina player to shoot on target against Paraguay (two). His two shots on target came from set-pieces (a saved free kick and a penalty).
Argentina face Qatar in Porto Alegre on Sunday, while Paraguay meet Colombia in Salvador.