St-Pierre (24-2) pitched a shutout, winning 50-45 on all three judges' cards in front of 20,145 fans at Montreal's Bell Centre.
"Nick Diaz is a good guy," said the champion, looking to end the bad blood between the two.
Diaz, who said he was flat after a 13-month layoff, thanked GSP "for giving him the credit I think I deserve."
Diaz came to the fight with a chip on his shoulder and plenty of attitude. He leaves with a loss and lumps on his face, although he showed the champion respect after the fight.
As expected, St-Pierre used his wrestling to control the chirpy challenger, rag-dolling him at times and bullying him on the ground. But he also used his jab and kicks to pick apart the challenger on his feet.
A calm, calculating St-Pierre won almost every battle during the fight without putting himself in harm's way. Diaz (27-9-0 with one no contest) never quit, but showed less of his trademark trash-talking. He had his hands full.
The main event had been dripping with animosity, with Diaz showing St-Pierre little respect. The normally chill champion was red-hot coming into the fight, saying he wanted to "retire" Diaz.
After the bout, Diaz said his fighting days may be over. He backed off the statement after coming late to the news conference and added he wanted a rematch with St-Pierre or perhaps Carlos (The Natural Born Killer) Condit.
In another strange admission, he said he had never paid taxes.
A bizarre fight week saw Diaz skip a public workout, then put on a strange one-man tour de force at the pre-fight news conference that managed to both befuddle and antagonize GSP.
"I never took it personally," GSP said after the fight.
The antagonism continued right up to the fight with fellow fighter Jake Shields, a member of the Diaz entourage, complaining about St-Pierre's hand wraps.
"I checked GSP's glove and the wrap looked shady," Shields, beaten by GSP at UFC 129, tweeted before the fight.
UFC president Dana White said Shields had OK'd the wrap, only to have another member of the Diaz camp come and complain later.
The 31-year-old from Montreal was looking for his eighth straight successful title defence since winning his 170-pound championship back from Matt (The Terror) Serra at UFC 83 in April 2008. Only middleweight champion Anderson Silva has more title defences (10).
The welterweight contenders' picture grew clearer earlier in the main card as Jonny (Bigg Rigg) Hendricks won a unanimous 29-28 decision over Condit in a wild co-main event that left both men blooded, and with the respect of their boss.
"These boys are holding nothing back," tweeted an appreciative White.
Condit and Hendricks earned US$50,000 each for the fight of the night.
Hendricks, who said he broke his left hand in the fight, was promised a title shot if he won.
"Guess what, I earned it," said Hendricks.
And welterweight Jake (The Juggernaut) Ellenberger knocked out former Strikeforce champion Nate (The Great) Marquardt in the first round.
Ellenberger's blow was picked as the KO of the night, earning him a $50,000 bonus.
Diaz came out to a chorus of boos, one man against a champion backed by thousands in the stands. He calmly walked inside the cage, his four corner men urging him on.
Then the lights dimmed and St-Pierre followed, bouncing up and down in his traditional karate garb to pulsating French-language rap. The crowd erupted.
Diaz walked over to the cage and yelled something as GSP prepared to enter. It didn't seem like a hello. Montreal referee Yves Lavigne then moved over to keep a close watch on the challenger.
The place was rocking before the cage doors closed.
The first GSP takedown came seconds later. Diaz looked to work a submission but the champion controlled him, firing punches as Diaz tried to get up. A pair of GSP elbows produced a knot on the challenger's forehead.
The crowd started chanting Ole Ole and "(blank) you Diaz." GSP responded by dropping Diaz on his head, capping a dominant first round.
St-Pierre landed another takedown 40 seconds into the second round and soon had Diaz on his knees face down again, hitting him with knees and punches. Diaz's face was showing damage.
Diaz tried to get in GSP's face as the round ended.
Diaz went down again in the third, after eating some punches. When Diaz got back up, he fired some leg kicks and scored with some jabs. Then GSP dumped him, battering him on the ground.
Diaz flicked a punch after the bell at St-Pierre, whose face was bloodied.
Both men looked tired in the fourth, but GSP scored another takedown and Diaz soon had the champion clamped to him again. Diaz tried for a kimura but St-Pierre, whose face was also worse for wear, fought him off.
The two clinched in the fifth before Diaz fell attempting a kick. St-Pierre jumped on him and Diaz was again face down on the mat, eating punches. The fight finished fittingly with GSP on top and the crowd roaring.
The two shook hands, hugged and Diaz, sportingly, raised St-Pierre's hand.
GSP came into Saturday's fight on a 10-bout win streak. And needing just three rounds to erase Randy (The Natural) Couture's UFC record of 44 championship rounds fought.
It was St-Pierre's 13th championship fight, second only to the retired Couture (15).
The GSP-Diaz showdown was a long time coming. The UFC and former Strikeforce champions were slated to meet at UFC 137 in October 2011, only to have Diaz yanked from the card after failing to turn up for news conferences in Toronto and Las Vegas.
St-Pierre then tore up his knee in training, returning to action last November when he defeated Condit at UFC 154. Diaz had lost to Condit at UFC 143 in February 2011, then was suspended for a year after testing positive for marijuana.
The Condit loss snapped an 11-fight win streak for Diaz.
How Diaz will fare in drug testing here remains a question mark. The 29-year-old from Stockton, Calif., who has been suspended twice for weed, says he smokes marijuana medicinally to help social anxiety problems.
Condit was initially due to face Rory (Ares) MacDonald but the Montreal fighter had to pull out with a neck injury. That forced a reshuffle of the welterweight bouts with Hendricks moved to face Condit and Marquardt brought in to take on Ellenberger.
Hendricks (15-1) came out flying, driving Condit back with punches and then taking him down. Condit needed all his guile to survive the early onslaught but came back in a wild first round to take Hendricks' back and then put him down.
It was more of the same in the second, with both men digging deep into their arsenal. Hendricks had the better of it, scoring a driving takedown with Condit's faced bloodied.
An early takedown in the third helped the Hendricks cause. Condit got back up and the two exchanged blows. Hendricks was cut in the round as Condit came back with a vengeance.
The two hugged after a remarkable 15 minutes. The decision drew cheers, and boos from people who thought Condit (28-7) had won. If he didn't win the decision, he won plenty of admirers.
Ellenberger (29-6) made short work of Marquardt (35-12-2), knocking him down with a left-right and then hurting him with another. Marquardt did not seem to like the stoppage by Philippe Chartier, at 3:00, but he was dazed and vulnerable.
Ellenberger, another welterweight with real power in is hands, has won 12 of his last 14.
"I can knock out anyone in the division," he said.
Canadians went 4-2 before the main event, with welterweight Jordan (Young Gun) Mein of Lethbridge, Alta., putting on a show in his UFC debut by stopping veteran Dan Miller at 4:42 of the first round.
Just 23, Mein is already a veteran. The former Strikeforce fighter showed it in the first round when he cooly escaped an armbar from Miller, a black belt in Brazilian jiu-jitsu.
Mein (27-8) floored Miller (14-7-0 with one no contest) with a left to the chin with 90 seconds remaining in the round and bloodied him up before delivering a pair of punishing body shots to put him down again. He finished it off with more than a dozen blows at the fence before the referee stepped it.
It was an impressive showing against Miller, a tough customer who had never been stopped before, with his other losses coming by decision. Mein has now won three straight and nine of his last 10.
Montreal's Patrick (The Predator) Cote (20-8) won his debut at welterweight with a unanimous 29-28 decision that shocked (Vicious) Bobby Voelker and his camp who thought they had the fight won. More than few observers agreed with them.
Still it was a high-paced bout that had the Bell Centre rocking before the main card.
"What a WAR!!!" tweeted White.
Voelker (24-9) was making his UFC debut after going 4-1 in Strikeforce
It's Cote's third weight class in the UFC. He went 5-7 as a middleweight and 0-1 as a late injury replacement against light-heavyweight Tito Ortiz way back at UFC 50 in 2004.
Montreal lightweight Mike (The Martian) Ricci won a unanimous 30-27 decision over England's Colin (The Freakshow) Fetcher (9-3) in a battle of runners-up from "The Ultimate Fighter."
Ricci walked out ready for battle, complete with a sword.
Montreal lightweight John (The Bull) Makdessi (11-2) showed plenty of grit in fighting through the flash of Daron (Detroit Superstar) Cruickshank to win a unanimous 29-28 decision.
Darren (The Damage) Elkins beat featherweight Antonio Carvalho of Ajax, Ont., via a first-round stoppage that had the fans booing and Carvalho wondering what happened. Elkins (17-2) staggered Carvalho and then knocked him down, prompting Lavigne to step in and wave an end to the fight at 3:06. Carvalho (15-6) was dazed but he was getting to his feet.
"Ya that was bad for Carvalho. He was rocked as on crazy legs but should have been given more time," tweeted White.
While some like White saw it as an early stoppage, Lavigne may well have saved Carvalho from further punishment.
A former lightweight, Elkins is the first UFC fighter to go 5-0 at 145 pounds.
Chris Camozzi (19-5) won his fourth straight, earning a 29-28, 28-29, 29-28 split decision over Calgary middleweight Nick (The Promise) Ring in a bloody battle between two friends.
"Much respect for Ring and Camozzi, tough fight," tweeted White..
Ring was slated to fight at UFC 154 in Montreal in November but was pulled from the card by doctors at the last minute because of a respiratory virus.
Welterweight Rick (The Horror) Story (15-6) was too much for Quinn Mulhern (18-3), stopping the former Strikeforce fighter with a flurry of blows at 3:05 of the first round.
Bantamweight T.J. Dillashaw (8-1) caught Japan's Issei Tamura (7-4) with a kick to the face and then finished him off with a half-dozen nasty punches at the fence for a TKO 26 seconds into the second round.
Lanky bantamweight George Roop (13-10-1), who had seven inches on his five-foot-six opponent, scored a unanimous decision over Reuben Duran (8-5-1).
Midway through the card, the UFC announced that women's featherweight champion (Rowdy) Ronda Rousey and the winner of Miesha Tate versus Cat Zingano will serve as coaches of the next "The Ultimate Fighter," which will included male and female 135-pounders.
The card pulled down a gate of $3.7 million.