A 4-team single round-robin is a common format for recreational soccer leagues. The math is clean: 6 games, 3 rounds, every team plays every other team exactly once.
This page lays out the full matchup schedule. Drop your team names into the 4 slots below and pair each game with a field slot on your calendar.
How a 4-Team Round-Robin Works
With 4 teams, the structure is:
- Total games: 6 (n × (n−1) / 2 = 4 × 3 / 2)
- Rounds: 3
- Games per round: 2
- Games per team: 3 (one against each opponent)
Each team plays exactly once per round, and every team faces every other team by the end of the season.
The Full Matchup Schedule
Below is a standard round-robin rotation for 4 teams. Teams are labeled 1–4. Replace the team labels with your actual team names when you build your schedule.
Round 1
| Home | Away | |------|------| | Team 1 | Team 4 | | Team 3 | Team 2 |
Round 2
| Home | Away | |------|------| | Team 3 | Team 1 | | Team 4 | Team 2 |
Round 3
| Home | Away | |------|------| | Team 1 | Team 2 | | Team 4 | Team 3 |
This rotation uses the standard round-robin algorithm (fix one team, rotate the rest). Every team appears exactly once per round, and no matchup is repeated.
What This Generator Doesn't Do
This is a matchup-and-slot starter — not a constraint solver. It won't:
- Automatically assign field slots based on team availability
- Detect conflicts if a team's preferred night changes mid-season
- Cascade reschedules — if a game moves, you manually update downstream games
- Balance rest time — depending on how you fill the slots, some teams may end up with back-to-back kickoffs
For leagues where those constraints matter — most leagues with more than a single pitch or meaningful team preferences — that's where a real schedule builder earns its keep.
Frequently Asked Questions
Can I use this for a different team count?
No — this matchup matrix is only valid for 4 teams. For other team counts, browse the other soccer round-robin generators on the Soccer schedules hub.
What if I have a bye week?
With 4 teams and 2 games per round, there are no byes — every team plays every round. If you need a bye structure, that requires a different format or a different team count.
Can I use this for other sports?
The matchup matrix is sport-agnostic — the same rotation works for any sport where every team plays every other team once. The download is formatted for soccer (field slots, standard match blocks) but the matchup structure works for any sport that uses a round-robin.
What if a team drops out mid-season?
If a team drops, the round-robin structure becomes irregular and is best handled by re-generating the schedule from the new team count. For recreational soccer leagues that experience mid-season changes regularly, the static matrix breaks down quickly — that's where LeagueNav's schedule builder helps.