After taking a 5-4 lead in the first set, Nadal engineered three break points before claiming the first set with a thunderous down-the-line forehand.
Nadal upped his game in the second set and broke Almagro twice on his way to a comfortable victory.
Meanwhile, world number eight Stanilas Wawrinka was almost upset by Carlos Berlocq of Argentina, but recovered to win in three sets.
After losing the first set following a tense tie-break, Wawrinka raced to a 2-0 lead in the second. However, Berlocq refused to let Wawrinka get away as he rallied back to take a 4-3 advantage. But, the Swiss ace would go on to take the second set after saving two break points in the eighth game.
Wawrinka returned to his old dominant self in the third set as the 2014 Australian Open champion won five out of the first six games before going on to clinch the match 6-7 (11), 7-5, 6-2.
Eighth seed Tomas Berdych is also through to the third round after beating South Korea's Hyeon Chung 6-3, 6-4.
Despite winning the first set without any major problems, Berdych found himself trailing 4-2 in the second before the rain came. Berdych composed himself during the delay and on his return battled back to not only win the last four games of the set, but also the match.
Meanwhile, two-time champion Andy Murray booked his spot in the third round after defeating Donald Young 6-4, 6-2 in an hour and 22 minutes.
However, Murray would not have been impressed with the fact that he hit just 14 winners in the match and made 21 unforced errors.
The Scot will face Santiago Giraldo in the third round after the Colombian beat Robin Haase 6-2, 3-6, 6-0.