Harper originally received a four-game ban on Tuesday for his role in a fight with San Francisco Giants reliever Hunter Strickland.
Harper will start serving his three-game suspension as the Nationals face the Giants on Wednesday night, a source told ESPN.
Strickland was suspended six games for his role, apparently holding a grudge after Harper hit two home runs against him in the 2014 National League Division Series.
The right-hander hit Harper on the right hip with a 95-mph fastball in the eighth inning of the Nationals' 3-0 win. Strickland also filed an appeal.
Harper charged the mound and threw his helmet, which appeared to slip out of his hand and come nowhere close to Strickland, but they both landed punches before being engulfed by teammates in a melee at the center of the infield.
The 24-year-old Harper is second in the National League with 15 home runs and is hitting .322 average with 41 RBIs. He will be eligible to return Sunday as the Nationals finish a series at Oakland against the Athletics.
MLB chief baseball officer Joe Torre said Tuesday in his explanation that Strickland intentionally hit "Harper with a pitch, inciting the bench-clearing incident and fighting" while Harper's suspension came "for charging the mound, throwing his helmet and fighting."
Each player also was fined an undisclosed amount.
"You can't really worry about what MLB is going to do because you don't really know," Harper said Tuesday. "Whatever they say goes and I'm just going to worry about the four games I got and see what I can do."