There are many spells that will do this. The most obvious is suggestion or its relatives charm person, dominate person.
Geas/quest is a good way to do this since it allows no saving throw, but the ten-minute casting time is prohibitive unless the caster pays 1500gp to use lesser wish to cast it in one action.
The enthrall spell is a great fit for this purpose, though note that it’s only available to bards and clerics.
The traditional approach would be to use baleful polymorph to turn the target into a frog, but that spell has a chance to also turn the target into a frog mentally, which would make it incapable of understanding a monologue — probably not what you want.
The hold person spell isn’t really suitable because its duration is very short — the target gets a new save every six seconds. People in the comments have claimed that “talking takes no time”, but this is false — the rules say that speaking more than a few sentences is beyond the limit of a free action.
If you’re willing to use third-party spells, there’s a spell called mute.
But there are two deeper problems here.
One problem is that these spells can silence a player character, but they can’t silence a player; if your problem is that a player keeps interrupting the DM, that’s something you need to address out-of-game.
The other problem is that doing something like this to a player character is going to be not-fun for the player. If your players keep roleplaying their characters interrupting your NPCs, it might be a sign that (at least one of) your players doesn’t like it when your NPCs monologue. You might consider whether you can play your NPCs differently in a way that won’t make your players want to interrupt them.