The sixth-seeded Venus dominated the first set at the Aviation Club as Serena struggled with her serves.
"I loved the way the first set went," said Venus, who will face Virginie Razzano of France in Saturday's final. "I just had two second serves in the whole of the first set."
Venus now leads the career series between the American sisters 10-9.
"I think my serve has gone somewhere on vacation and I need to go there and catch up with it," said Serena, the Australian Open champion. "Venus played well, and served really well, which was the difference."
Venus hit her first ace in the second game of the second set to save a break point, and then hit another to make it 1-1 before breaking her sister twice.
"She fought back well after that, and I was still trying to finish the points quickly in the second set," Venus said. "But when I saw that she was playing better, I had to change my game a bit."
The sisters traded breaks in the third set.
"I was pleased with the win, but I would have been more pleased if it was the final," Venus said. "It definitely was a final-quality match. After all, she is the No. 1 player in the world and we are the best players in the world. She is one player I respect most on the tour, so it feels very satisfying."
Serena appeared to be bothered by a lingering knee injury that forced her to pull out of last week's Open GDF Suez semifinals.
"I am looking forward to a break before I play Miami," Serena said. "I really need it and I think it will be good for my knee. I have never played so much tennis in my whole career."
"I am not surprised at my results here," Razzano said. "I know I have the tennis in me to beat the top-ranked players. And I worked very hard on my game during the winter break and I am feeling good about it."
Down a break in the first game of the second set, Kanepi rallied to get to 2-2 but then faded again.
"After a few good matches, I was really looking forward to this one, but nothing worked for me," Kanepi said. "I struggled with my serve, my returns and my overall game."
The Dubai Tennis Championship attracted a quality field this year, with nine of the WTA Tour's top 10 players in the draw. But it was overshadowed by the refusal to allow Israeli player Shahar Peer into the country. Organizers said they feared fan anger over Israel's recent military offensive in the Gaza Strip would spill into riots in the Arab country if Peer were to play.
On Thursday, however, the country said it was issuing a special permit for Israeli tennis player Andy Ram so he can play in next week's men's tournament.