Previously unbeaten Charlo was the aggressor throughout, but neither fighter landed any devastating blows and the judges gave the all-American showdown to Harrison by scores of 116-112, 115-113 and 115-113, AFP reported.
"You know they took that fight from me," said Charlo, who fell to 31-1 with 15 knockouts. "I was there, pushing the action the whole time. He was moving around just going to the jab, one or two punches. He didn't win that fight."
But the new champion, who improved to 28-2 with 21 wins inside the distance, insisted there should be no doubt about the outcome.
"I grinded. I grinded, I grinded and I grinded," he said. "I showed championship composure. I didn't have to do much. I used my jab. I used my ring generalship. I kept him at bay."
Harrison was offering a rematch when the disbelieving Charlo muscled into his ring interview.
"He knows I won that fight," Charlo said.
The fight was the first of a twin bill that featured Charlo's twin brother, Jermall Charlo, who retained his WBC interim middleweight title with a unanimous decision over late substitute Matt Korobov.
Jermall Charlo won by scores of 119-108, 116-112 and 116-112, coming on strong on the later rounds and pummelling Korobov in a decisive 12th to improve to 28-0 with 21 wins inside the distance.
Korobov, who stepped up from the undercard after intended opponent Willie Monroe Jr. failed a drugs test, fell to 28-2.