Competitive Matchmaking

I would love to know how the “fair matchmaking” system works in competitive.
I have just come from a game with a full team of solos - 5 diamonds and 1 masters - and we were placed against a team that consisted of a group of three masters and group of 2 diamonds and 1 solo diamond.
The opponents overall rank was masters and ours was diamond.
Not only did they have the rank advantage, but also their team consisted of 2 individual groups.
Naturally as a full solo team we had 0 tanks, 2 healers and 4 dps, whereas the other team had the standard 2-2-2.
If you were to place money on the team that would win what do you reckon?
Well here’s the plot twist, shockingly we actually won. I’m not complaining I just want to know how the system things that is a “fair” match. There’s really no way we should have won.
Surely it should have given our team one of the groups and put more solos on theirs?
Unfortunately I’m seeing this a lot in solo queue. Very unbalanced sides, both mine and the opponents.

Yeah this usually happens near the end of the season, or at times of day when less people are playing. When less people are on, the matchmaker has to stretch what matches are allowed to avoid infinitely long queue times.

Chances are good that not everyone on the other team were all in team chat, thus less coordination.

Groups tend to not join team chat as often compared to solo players. They also tend to tilt easier and blame each other more often than a team of solo players.

That part of a reason i Left overwatch till they force 2-2-2