Timea Bacsinszky was forced to a third set by Kateryna Kozlova before booking her place in the Grand Prix de SAR La Princesse Lalla Meryem quarter-finals, but second seed Ekaterina Makarova crashed out.
World number 15 Bacsinszky saved six of seven break points to take the first set 6-3, but dropped serve three times in the second as Kozlova sent the match to a decider.
However, the top seed proved too much for the 117th ranked Kozlova, who succumbed to a 6-3 2-6 6-3 defeat in two hours and 22 minutes.
Bacsinszky will face Johanna Larsson in the last eight after the Swede beat Teliana Pereira 6-4 6-4.
Second seed Makarova failed to show the same level of resilience as the Swiss, though, as she fell to a straight-sets defeat against Serbian qualifier Aleksandra Krunic.
Krunic - ranked 93 places below her opponent - took less than 65 minutes to complete a 6-2 6-2 victory and move into the last eight.
The Serbian will face another qualifier in Marina Erakovic for a place in the semi-finals, with the New Zealander advancing after seventh seed Lesia Tsurenko retired following the first set.
Timea Babos overcame Laura Robson 6-1 6-2 to advance, and she will face Pauline Parmentier, who rallied from behind to defeat Richel Hogenkamp 4-6 7-5 6-2.
Yulia Putintseva faced few problems in beating Tatjana Maria 6-0 6-2 and setting up a last-eight clash with 2012 champion Kiki Bertens after the 24-year-old breezed past Sara Sorribes Tormo 6-4 6-3.