Dimitrov, fourth seeded in the tournament, needed two hours and 58 minutes to hold off Anderson and win his first title since Stockholm, last year.
"It's been a tremendous week for me," said Dimitrov afterward. "It's been a great journey, the sun always comes out when you work hard."
With the win, the 22 year-old Bulgarian will move up to around 16th in the world rankings.
Anderson lost his second consecutive final, having been beaten last week at Delray Beach.
Cibulkova, the top-seeded and runner-up in the Australian Open in January, won her fourth career title and first since Stanford in 2013.
"It was tough match, I'm really tired, I had to dig deep physically and mentally," Cibulkova said. "She was very aggressive and kept coming back, but it's a final and thanks to my experience I was able to do it."
The 21-year-old McHale, ranked 70th, reached her first tour title match. Previously, her best results where two semifinals in Quebec, in 2010 and 2011.
"I'm a little bit sad because I didn't win, but at the same time I know that Dominika is a very good player and I fought until the end," McHale said. "I learned that I have the capacity to go far in tournaments, that I'm capable of playing against the best so I'm going to keep working every day to get better."
McHale is one of six Americans aged under 25 who are between 18 and 70 in the WTA rankings, along with Lauren Davies (64), Alison Riske (46), Madison Keys (38), Jamie Hampton (31) and Sloane Stephens (18), and they represent the next generation of U.S. talent as the Williams sisters come toward the end of their careers.
"There are several American going up in the rankings, we are pushing each other to be better," McHale said.