Having qualified third, Diaz overtook pole-sitter Garcia going into Turn 1, fighting with his fellow Spaniard over the next few laps. 2017 WorldSSP300 champion Garcia then pulled clear, with Diaz also gapping those behind, and the pair crossed the line well ahead of third.
Spanish youngster Garcia Abella scythed his way through from 17th on the grid to join the battle for the final spot on the podium in the second half of the 12-lap race. The Yamaha MS Racing rider crossed the line in 11th, but was less than 1.5 seconds off the rostrum.
Elsewhere, Humberto Maier had qualified a strong 10th but dropped to 18th at the finish, having been shuffled down the order on lap two. Fenton Seabright made up places from 22nd on the grid, finishing just 0.102s off his fellow Yamaha R3 bLU cRU European Cup graduate in 20th.
Next for the WorldSSP300 riders will be Race 2 tomorrow at 15:15 (CET), after a 15-minute Warm Up at 09:50.
For Race 1 results, click here.