Tiger Woods, the only man with a chance to catch Cabrera at the end, failed to drain a long birdie putt on the 18th hole that would have forced a playoff on Monday.
Cabrera fired 1-under 69 during the final round, finishing the tournament with a 5-over 285.
It was the first victory on American soil for the Argentine, who also became the fourth consecutive international golfer to win the U.S. Open.
"It is very difficult to describe at the moment," an elated Cabrera said through an interpreter. "Probably [Monday], when I wake up with this trophy beside me, I will realize I won the U.S. Open."
Woods completed his round with a 2-over 72 and tied for second with Jim Furyk (70), one shot behind Cabrera.
Calgary's Stephen Ames, who began the day three shots back, carded a 76 and ended up six shots back.
Ames birdied the first hole and had a share of the lead with Woods, but a triple bogey on seven ended his chance at winning the tournament.
Mike Weir of Bright's Grove, Ont., closed with a 75 to finish in a tie for 20th.
Cabrera was nervously sitting in the clubhouse watching Furyk and Woods attempt to match his final score.
After Furyk failed to birdie on 18, Woods faced about a 30-foot putt to extend the tournament to a playoff.
But he pushed his ball long and right, leaving Cabrera with the U.S. Open trophy.
Cabrera, who became the first Argentine to win a major since Roberto De Vicenzo captured the 1967 British Open, almost let a pair of mistakes late in his round ruin his celebration.
Leading by three strokes, the 37-year-old golfer bogeyed 16 and 17, giving Woods and Furyk hope.
However, a perfect tee shot by Cabrera led to a par on the difficult 18th, a hole only four golfers birdied on Sunday.
This was the second consecutive runner-up finish at a major for Woods, who placed second to Masters champion Zach Johnson in April.
Woods birdied only one of his final 32 holes, missing several opportunities to close the gap, including a six-foot putt on 13.
"He put a lot of pressure on Jim and I, and we didn't get it done," said Woods of Cabrera.
The No. 1 player in the world also extends an 0-for-29 streak of never winning a major while trailing before the start of a final round.