After a challenging four-game (all comps) away stretch, Major League Soccer's newest club returned to North Carolina to take full advantage of their home comforts.
The hosts came out the blocks fast, creating a number of chances down their left flank through Joseph Mora, though Drake Callender was equal to their efforts in goal for Miami.
As the game went on, both sides traded chances, with Kieran Gibbs firing straight at Kristijan Kahlina either side of half-time when he perhaps should have passed, while Charlotte's slick passing always made them a threat.
But in the end, it was the substitutes who did the damage, with Yordy Reyna breaking away down the left in the 67th minute and finding the onrushing Andre Shinyashiki at the far post. Just days after arriving from the Colorado Rapids, Shinyashiki scored on his debut with his ninth touch as a Charlotte FC player.
Miguel Angel Ramirez deserves huge credit for his changes, and he'll be pleased with the way his side closed out the game, defending ruggedly and running down the clock with the ball.
Here are the full player ratings as Charlotte FC keep up their impressive home record:
1. Charlotte FC (4-3-3)
Kristijan Kahlina (GK) - 8/10 - Made a couple of important saves and once again was the springboard for Charlotte in possession with some excellent passing.
Jaylin Lindsey (RB) - 6/10 - Had a few good moments in attack but almost cost his side with a terrible giveaway in the second half. Leonardo Campana couldn't take advantage. Made up for it with an incredible goal-saving interception in the final 10 minutes.
Guzman Corujo (CB) - 7/10 - Super clean on the ball and got through his defensive work with little fuss.
Christian Fuchs (CB) - 7/10 - Was rock-solid defensively and played some eye-catching passes before being forced off with injury just before the hour mark.
Joseph Mora (LB) - 7/10 - Caused havoc with his driving runs and crosses in the opening 15 minutes but faded quickly after that.
Brandt Bronico (CM) - 8/10 - Got through plenty of defensive work and put Charlotte on the attack in the build-up to Shinyashiki's goal.
Sergio Ruiz (CM) - 8/10 - An all-action display from Ruiz, who was creative from open-play and set-pieces, popped up all over the pitch, and didn't shy away from his defensive duties.
Ben Bender (CM) - 7/10 - Wasn't quite as effective as he has been in previous weeks, but Bender still showed a few moments of class.
McKinze Gaines (RW) - 6/10 - Made some great runs and caused the Inter Miami defense some serious problems, but his touch and composure let him down in key moments.
Karol Swiderski (ST) - 6/10 - Missed a couple of early chances but kept at it, dropping deep to link play and pull Inter Miami out of shape.
Kamil Jozwiak (LW) - 6/10 - A promising first MLS start for Jozwiak, who won seven of his nine ground duels and created one chance. Ran out of steam pretty quickly after half-time.
SUB: Christian Makoun (55', for Fuchs) - 8/10 - Made a couple of huge interceptions in his own box and slotted in well for the injured Fuchs.
SUB: Yordy Reyna (56', for Gaines) - 8/10 - Provided the assist for Shinyashiki's winner and was a nuisance throughout.
SUB: Andre Shinyashiki (56', for Jozwiak) - 9/10 - Scored with his ninth touch as a Charlotte FC player and gave his side a huge boost down the right. The perfect debut from the bench.
SUB: Jordy Alcivar (74', for Ruiz) - 6/10 - Neat and tidy on the ball.
SUB: Daniel Rios (86', for Swiderski) - N/A - Came on too late to have a real impact.
2. Inter Miami (4-3-3)
Drake Callender (GK) - 6/10 - Could do little about the goal and made a couple of important saves earlier on to keep Charlotte at bay.
DeAndre Yedlin (RB) - 7/10 - Did well to get out and create a couple of chances given how much Charlotte attacked down his side early on.
Christopher McVey (CB) - 6/10 - Sloppy with the ball at times but solid enough defensively.
Ryan Sailor (CB) - 7/10 - Slotted into the team well on his MLS debut with plenty of clearances and a couple of goal-saving tackles. Kept things simple with the ball.
Kieran Gibbs (LB) - 2/10 - Got into some great positions but his decision-making was terrible in the final third, blasting shots straight at Kahlina rather than setting up better-placed teammates. Lost Shinyashiki at the far post for Charlotte's goal.
Jean Mota (CM) - 7/10 - Defended well, especially blocking a Swiderski effort inside his own box early on. Clean on the ball and always tried to play forward.
Gregore (CM) - 6/10 - Nothing fancy or exciting on the ball, but got through another mountain of defensive work.
Bryce Duke (CM) - 7/10 - Was Inter Miami's best creative outlet with four key passes. Worked hard to win the ball back for his team.
Indiana Vassilev (RW) - 4/10 - Not the ideal second debut for Vassilev, who was a bystander for most of his 61 minutes on the pitch.
Leonardo Campana (ST) - 5/10 - Restricted to shots from distance due to poor service. Should have been set up for a few easy chances, but his teammates made the wrong choices.
Robbie Robinson (LW) - 5/10 - A couple of creative moments in the final third but was largely snuffed out by the Charlotte defense.
SUB: Ariel Lassiter (61', for Vassilev) - 4/10 - Picked up where Vassilev left off, barely affecting the game.
SUB: Joevin Jones (73', for Gibbs) - 6/10 - Clean and tidy, and got stuck in.
SUB: Victor Ulloa (83', for Mota) - 5/10 - Didn't have the desired effect from the bench.
SUB: Emerson Rodriguez (83', for Robinson) - 5/10 - As above.