Both players were appearing in their first ranking final since the 2015 World Championship, as Murphy scrapped his way to a 4-1 advantage.
Bingham fought back, compiling a break of 91 to go 5-4 ahead after the first session and extending his lead to 7-6.
Murphy made breaks of 94 and a superb 120 to lead 9-8, Bingham levelled, but Murphy took the 19th frame for victory.
"It had the feel of a 9-9 in that neither of us were going to get away from the other one and shake each other off," Murphy told BBC Sport.
"At nine all you just have to think on your feet - I saw an opportunity for a long red in the green pocket and took it."
Despite leading early on, world number seven Murphy struggled to find his rhythm and was pegged back by his opponent.
"I was lucky I had the 4-1 lead," he said. "My head had gone at the interval and I was just happy to get out of the arena and go back to the hotel to regroup."
The 33-year-old was much more fluent in the final session to pick up the sixth ranking title win of his career and the £100,000 winner's prize money.
World number two Bingham, 39, has suffered a disappointing season since beating Murphy 18-15 to win the sport's biggest prize at the Crucible last May and has failed to pick up a title so far.
"At 4-1 down I felt like I had someone else's cue or arm - I was all over the place," said Bingham.
"To come out 5-4 up after the first session I was ecstatic.
"The way my season has gone, to get to the final and have a sniff of winning, will do me a hell of good for the next tournament."
The next ranking title is the Players Championship in Manchester, taking place from 22 to 27 March.
Stuart Bingham (Eng) 9-10 Shaun Murphy (Eng)
13-76, 50-66, 96-20 (68), 26-74, 4-93 (58), 77-62, 61-29 (55), 101-5 (93), 80-56 (74), 69-6 (68), 40-62 (52), 19-72, 85-2, 0-94 (94), 23-79, 65-54, 0-120 (120), 84-2, 0-72
Shaun Murphy beat world champion Stuart Bingham 10-9 in a thrilling contest to win the World Grand Prix in Llandudno.