It was the Belgian who started the match the better of the two players, as he broke at 1-1 before serving his way into a 3-1 lead in the first set.
The set remained on serve until 4-2, when Goffin broke again to move into the lead after 31 minutes of tennis.
The second set belonged to Almagro, however, as the Spaniard secured consecutive breaks before serving his way into a 5-0 lead.
Goffin did hold his next service game, but the Spaniard then followed suit to force a deciding set.
The third and final set remained on serve until 3-3 when Almagro broke to take charge of the match, while he also broke at 3-5 to book his spot in the next round.