How should I deal with a player whose roleplay cuts into other players enjoyment of the session?

I’m a very new DM running a homebrew campaign for a couple of friends.

One of my players, who is by far the most experienced, plays a bard who is definitely optimised for roleplay, and that seems to be the part of the game she enjoys the most.

This is fine, of course, but lately I think it’s been derailing the rest of the party’s experience. The rest of the party is made up of players who either struggle with roleplay or have optimised their character for combat. This player has spent 15-20 mintues interrogating an NPC in a zone of truth (even after I made it clear that there was nothing else to gain from the NPC) while the rest of the party has no idea what to do. She also interjects into other player’s rare roleplay moments to describe what her Bard is doing. The rest of the party gets tired or disengaged when the session is too roleplay-heavy, so I’ve been trying to reward any plot-progression they achieve with big, exciting combat encounters.

Then last session, as I was very clearly building up to a big encounter, the Bard player decided that she would rather try to reason with the angry, weapons-drawn guards. A couple of lucky persuasion rolls later, and the whole encounter (which I’d spent hours lovingly prepping) was circumvented. I understand that players messing up planned events is a natural part of being a DM, but I’m bothered by the fact that she didn’t give the other players a chance to decide for themselves whether they wanted to fight.

I don’t want this one player to feel like she’s being strong-armed by the DM or railroaded into certain outcomes, but I also want to give the rest of the party a chance to do what they love best –beating up some bad guys. How can I manage the roleplay needs of this player while also making sure that the rest of the party gets to experience the combat they want?