The 40-year-old Stenson made 10 birdies and two bogeys to win by three strokes at Royal Troon Golf Club in South Ayrshire, Scotland, becoming the first man from Sweden to win a major championship.
The two players were locked in a battle all afternoon, but Stenson denied Mickelson from capturing a sixth major championship at age 46.
Mickelson did all he could to capture his second Claret Jug, shooting a final-round 65 for a 267 total.
"Wow, this will take a little while to sink in," Stenson said at the trophy presentation. "I'm just still a little bit trying to find my bearings here.
"I want to thank firstly, Phil, for a fantastic battle. It seemed like at the end it wasn't going to be anywhere else than between the two of us, and we played some great golf. I'm delighted to come out on top this time, but thank you very much for a great fight."
Stenson birdied four of his final five hole, including making a 50-foot birdie putt from off the green at the 15th, for a British Open record score of 20-under 264.
Stenson's final stroke was a 20-foot birdie putt on the 18th hole for a 63, matching Johnny Miller at the 1973 U.S. Open at Oakmont for the lowest closing round by a major champion.
"I felt like it was my time," Stenson told NBC Sports. "I believed it was my time, and I managed to pull through and finish and beat Phil by a couple of shots. It was tough. I knew it was going to be tough, and it was a battle until the end.
"I tried to pick my spots, hit my shots and just stay in the moment. In a way it makes it easier when you're up against someone like Phil. He's not going to back down and he's going to keep trying to make birdies on every hole. So I tried to do the same, and just delighted to come out on top and manage to win this trophy."
On being the first Swedish male to win a major, Stenson said: "It's been on all the Swedish golfer's shoulders for a long, long time. I want to dedicate this one to all the guys who tried earlier, and Jesper (Parnevik) in particular came close a couple of times. We all try very hard and I'm the lucky one standing here now, but there are many before me who have tried."
Mickelson's 17-under total was lowest score ever for runner-up in a major, and his 11 second-place finishes in majors is second to Jack Nicklaus' 19.
"I thought we played pretty good golf," Mickelson told NBC. "I hit a lot of good shots, and Henrik made 10 birdies. That's really impressive golf.
"Henrik and I have been friends for quite some time, and I really like and respect him. I'm really happy for him. As much as I'm disappointed in the outcome, I'm really happy for him because he's a class act. He played phenomenal. He hit the ball so solid yesterday and especially today, what a great champion."