The XP thresholds for 1st level are 25/50/75/100 for Easy/Medium/Hard/Deadly. Given that you've calculated it at 250XP for 5 PCs, that puts it at 50XP/person. That's barely a medium encounter. Remove just one of those guys and it's now an easy encounter. Try adding in another 4 guys and see how it goes.
The centaur, while CR 2, is only 450 XP, which is still only a hard fight. For single monsters, it's easy to focus them down, especially when you're getting free advantage for no reason and they're not.
(For what it's worth, I think a party of 5th level adventurers could mop the floor with a single CR9 monster)
From what I can tell, the crux of what you're trying to accomplish here is to have a monster with a very high effective defensive CR, while keeping the offensive CR reasonable. Such a monster will be able to last a long time against the party, but not be able to wipe them easily. But as you can tell, simply jacking up the monster's HP makes for a slog.
Split the fight into multiple encounters/stages
This tactic is a classic trick in video game RPGs: after dealing a certain amount of damage, you change the boss's form or the circumstances of the fight. This allows you to mix up the fight, and effectively turns the fight into multiple consecutive encounters hidden within a single battle.
For example, a party I play in recently fought a homebrewed boss dragon. It started with some chromatic abilities, but after we dealt enough damage to it, it changed into a dragon with all of the chromatic abilities. After that form was defeated, it turned into a shadow dragon. Afterward, the DM said that he just chose a CR-appropriate dragon, and then added not-so-powerful abilities to it for each stage. The resulting fight was both long and difficult, but not too difficult.
In my own game, I have used a boss that starts in a human form, then turns into a dragon form, then into a more powerful dragon form. Alternatively, you could have the boss retreat to a different location--perhaps one where he has traps set up or some terrain-based advantage.
One nice trick is that you can use the form change to clear otherwise debilitating effects. Almost every single-monster fight ends up being lopsided because of the imbalance in the action economy, but having your monster change forms gives you an excuse to get rid of that debilitating status effect (stun? sleep?) or allow it to survive a massive nova (a paladin dropping a ton of smites in one round of attacks, for example). At the same time, it doesn't render the players' actions completely useless, because they still made that stage of the fight easier.
Give the monster an interesting defense
If you don't want to have changing forms, you could try giving your monster interesting ways of keeping itself alive.
For example, consider the Archmage (MM 342). While he technically has access to 9th level spells, none of them directly deal damage. In fact, his highest level damage-dealing spell is the 5th level cone of cold, and all of his spells of 6th level or higher are defensive. Thus, he has a great deal of potential survivability, without being able to wipe the party in one shot (which he could easily do if he had meteor swarm instead of time stop). In my game, I had a fight where an archmage could form a huge slime armor around himself, which gave him extra tentacle attacks and a shield the players had to bypass first. Thus, while boss's damage output wasn't too high, it became an interesting puzzle for the players to pierce his defenses.
In the end, the PCs are always going to be super death-dealing machines. In order to have an extended, meaningful fight, you have to find some way to make their damage output materially useful during the fight and have some way for the boss to survive that damage output. The fastest way to a boring fight is for the players to feel like their attacks aren't making a difference, until the boss suddenly drops dead.
Best Answer
My suggestion:
Mirror PC stats, abilities and numbers to give them a challenge. If you have a fighter, wizard and rogue group, and you want to put them up against monsters, you'll need to set them against something tanky, something ranged, and something that can hit hard and fast.
Alternately, you could design special monsters like a Colossal Scorpion. Give the torso the tanky stats, and make each pincer a rogue type damage dealer. In addition, the stinger could be considered limited ranged (30'/60'). This would give the scorpion 3 distinct parts that can be targetted, as well as a main body that will kill the whole thing.
You can apply this to any set of monster enemies as well. An Ogre, axe throwing orc, and orc shaman would be a good trio to set up against PC's if you balance their stats according to the PC stats.
The problem you're going to be facing with trying to balance this is something you've already pointed out, the CR ratings don't mesh with single fights. It will take a good amount of experimentation to get a feel for it, but if you start with PC stats and incorporate those into monsters, you should be fine using that as a baseline.
That's just one suggested battle to keep things interesting. The main point is that a battle like that enables a monster to take as many actions as your players can, and it doesn't destroy the creatures ability to remain a challenge.
If you break the enemy down into trios as well, consider giving them similar abilities to player characters. This will ensure the challenge rating is appropriate. Try to avoid making the mistake of jacking up their AC, to hit bonus, HP and resistances. Keep it consistent with what the PC's have to maintain the arena feel to the tournament.