Four-time champion Nadal beat Brazilian Thomaz Bellucci in round four yesterday to set up a rematch of his 2008 clash with fellow Spaniard Almagro.
That day witnessed the most one-sided men's quarter-final of the Open era at Roland Garros, Nadal romping to a 6-1, 6-1, 6-1 victory.
But his compatriot has taken a set off the world No.2 in each of their last two meetings, while he was an impressive 6-1, 4-6, 6-1, 6-4 victor over Fernando Verdasco yesterday.
Nadal, who turns 24 on Thursday, said: "It's going to be very difficult, because the way he plays is really excellent.
"He's managed to maintain the same level here in the tournament.
"It's going to be complicated, he's going to be very aggressive. I'll do my best so that he feels a bit uncomfortable." The winner will play whoever comes out on top in the last-eight clash between Novak Djokovic and Juergen Melzer.
Third seed Djokovic was a 6-4, 2-6, 6-1, 6-2 victor over Robby Ginepri yesterday, while Melzer ended the remarkable run of Russian qualifier Teimuraz Gabashvili with a 7-6 (8/6), 4-6, 6-1, 6-4 victory.
In the women's singles, four-time champion Justine Henin surrendered a one-set lead to lose 2-6, 6-1, 6-4 to Australian seventh seed Samantha Stosur on a stunned Suzanne Lenglen Court.
Stosur will face world No.1 Serena Williams for a place in the last four.
Williams was an easy 6-2, 6-2 victor against Shahar Peer on Philippe Chatrier Court.
Fourth seed Jelena Jankovic and Yaroslava Shvedova completed the quarter-final line-up last night when they beat Daniela Hantuchova (23) and Jarmila Groth, respectively.
Today was set to see the last-eight clashes between Roger Federer and Robin Soderling, while Tomas Berdych takes on Mikhail Youzhny.