On the day that he was awarded Honorary Life Membership of the European Tour, Garcia carded a third-round 68 to finish eight under par, a shot ahead of England’s Daniel Brooks.
Brooks carded a superb 64 to end the day a shot in front of halfway leader Joost Luiten, who could only manage a 71, with Welshman Jamie Donaldson and Scotland’s Scott Jamieson a shot further back on five under.
Ireland’s Shane Lowry is six shots off the pace after carding a double bogey on the 18th for the second day in succession.
“I got off to a great start with a couple of birdies – almost three birdies in a row – and then unfortunately missed a couple of shots and made a couple of bogeys, but I stayed patient,” Masters champion Garcia said.
“It would be an amazing achievement [to win], but it’s still a long day to come. I can’t get too much ahead of myself.”
Brooks was threatening Bernhard Langer’s course record of 62 when he raced to the turn in 30 and also birdied the 10th, 11th and 15th, but bogeyed two of the last three holes.
“It was good fun out there, I hit a lot of good shots,” Brooks said. “I’ve been playing some great golf all week and I’ve made a lot of birdies.
“I had seven birdies each round the first two days and just let it slip a bit. As soon as you start missing a couple of shots, you hit a few trees and your head starts to go all over the place.
“Today was a lot calmer for me and kept it in play.”
Brooks began the week 123rd in the Race to Dubai, with only the top 100 today evening keeping their card for next season.
“I knew I needed a good week,” the 30-year-old added. “If you have a good one, great, if not then Tour school in a few weeks’ time – it’s not the end of the world.
“But I’ve got myself in a good position now and hopefully I can have a good day tomorrow.”