Torro-Flor broke for a 5-3 lead in the first set but dropped serve at 2-1 in the second as Oprandi evened the match.
The 71st-ranked Spaniard broke Oprandi twice in the final set to lead 5-1 but wasted a chance to serve out the match. Torro-Flor won 16 of 13 points played on Oprandi's second serve.
Both players were in their first final. Torro-Flor had won their only previous meeting two years ago in Bucharest.
Torro-Flor broke into the Top 100 in October 2012. Her previous best result was a semifinal appearance at the Tashkent Open in Uzbekistan in 2013.