matchupgrid

← Football

Primeira Liga schedule grid 2026-27

All 18 clubs, the whole season, one screen. Rows are clubs; every column is a date, so a row reads left to right in the order the matches are played. An @ means an away match.

Teams as rows, one column per day. Each cell names that day's opponent; an "@" marks an away match.
Team August 2026 September 2026 October 2026 November 2026 December 2026 January 2027 February 2027 March 2027 April 2027 May 2027 P
7 2026-08-07 8 2026-08-08 9 2026-08-09 10 2026-08-10 11 2026-08-11 12 2026-08-12 13 2026-08-13 14 2026-08-14 15 2026-08-15 16 2026-08-16 17 2026-08-17 18 2026-08-18 19 2026-08-19 20 2026-08-20 21 2026-08-21 22 2026-08-22 23 2026-08-23 24 2026-08-24 25 2026-08-25 26 2026-08-26 27 2026-08-27 28 2026-08-28 29 2026-08-29 30 2026-08-30 31 2026-08-31 1 2026-09-01 2 2026-09-02 3 2026-09-03 4 2026-09-04 5 2026-09-05 6 2026-09-06 7 2026-09-07 8 2026-09-08 9 2026-09-09 10 2026-09-10 11 2026-09-11 12 2026-09-12 13 2026-09-13 14 2026-09-14 15 2026-09-15 16 2026-09-16 17 2026-09-17 18 2026-09-18 19 2026-09-19 20 2026-09-20 21 2026-09-21 22 2026-09-22 23 2026-09-23 24 2026-09-24 25 2026-09-25 26 2026-09-26 27 2026-09-27 28 2026-09-28 29 2026-09-29 30 2026-09-30 1 2026-10-01 2 2026-10-02 3 2026-10-03 4 2026-10-04 5 2026-10-05 6 2026-10-06 7 2026-10-07 8 2026-10-08 9 2026-10-09 10 2026-10-10 11 2026-10-11 12 2026-10-12 13 2026-10-13 14 2026-10-14 15 2026-10-15 16 2026-10-16 17 2026-10-17 18 2026-10-18 19 2026-10-19 20 2026-10-20 21 2026-10-21 22 2026-10-22 23 2026-10-23 24 2026-10-24 25 2026-10-25 26 2026-10-26 27 2026-10-27 28 2026-10-28 29 2026-10-29 30 2026-10-30 31 2026-10-31 1 2026-11-01 2 2026-11-02 3 2026-11-03 4 2026-11-04 5 2026-11-05 6 2026-11-06 7 2026-11-07 8 2026-11-08 9 2026-11-09 10 2026-11-10 11 2026-11-11 12 2026-11-12 13 2026-11-13 14 2026-11-14 15 2026-11-15 16 2026-11-16 17 2026-11-17 18 2026-11-18 19 2026-11-19 20 2026-11-20 21 2026-11-21 22 2026-11-22 23 2026-11-23 24 2026-11-24 25 2026-11-25 26 2026-11-26 27 2026-11-27 28 2026-11-28 29 2026-11-29 30 2026-11-30 1 2026-12-01 2 2026-12-02 3 2026-12-03 4 2026-12-04 5 2026-12-05 6 2026-12-06 7 2026-12-07 8 2026-12-08 9 2026-12-09 10 2026-12-10 11 2026-12-11 12 2026-12-12 13 2026-12-13 14 2026-12-14 15 2026-12-15 16 2026-12-16 17 2026-12-17 18 2026-12-18 19 2026-12-19 20 2026-12-20 21 2026-12-21 22 2026-12-22 23 2026-12-23 24 2026-12-24 25 2026-12-25 26 2026-12-26 27 2026-12-27 28 2026-12-28 29 2026-12-29 30 2026-12-30 31 2026-12-31 1 2027-01-01 2 2027-01-02 3 2027-01-03 4 2027-01-04 5 2027-01-05 6 2027-01-06 7 2027-01-07 8 2027-01-08 9 2027-01-09 10 2027-01-10 11 2027-01-11 12 2027-01-12 13 2027-01-13 14 2027-01-14 15 2027-01-15 16 2027-01-16 17 2027-01-17 18 2027-01-18 19 2027-01-19 20 2027-01-20 21 2027-01-21 22 2027-01-22 23 2027-01-23 24 2027-01-24 25 2027-01-25 26 2027-01-26 27 2027-01-27 28 2027-01-28 29 2027-01-29 30 2027-01-30 31 2027-01-31 1 2027-02-01 2 2027-02-02 3 2027-02-03 4 2027-02-04 5 2027-02-05 6 2027-02-06 7 2027-02-07 8 2027-02-08 9 2027-02-09 10 2027-02-10 11 2027-02-11 12 2027-02-12 13 2027-02-13 14 2027-02-14 15 2027-02-15 16 2027-02-16 17 2027-02-17 18 2027-02-18 19 2027-02-19 20 2027-02-20 21 2027-02-21 22 2027-02-22 23 2027-02-23 24 2027-02-24 25 2027-02-25 26 2027-02-26 27 2027-02-27 28 2027-02-28 1 2027-03-01 2 2027-03-02 3 2027-03-03 4 2027-03-04 5 2027-03-05 6 2027-03-06 7 2027-03-07 8 2027-03-08 9 2027-03-09 10 2027-03-10 11 2027-03-11 12 2027-03-12 13 2027-03-13 14 2027-03-14 15 2027-03-15 16 2027-03-16 17 2027-03-17 18 2027-03-18 19 2027-03-19 20 2027-03-20 21 2027-03-21 22 2027-03-22 23 2027-03-23 24 2027-03-24 25 2027-03-25 26 2027-03-26 27 2027-03-27 28 2027-03-28 29 2027-03-29 30 2027-03-30 31 2027-03-31 1 2027-04-01 2 2027-04-02 3 2027-04-03 4 2027-04-04 5 2027-04-05 6 2027-04-06 7 2027-04-07 8 2027-04-08 9 2027-04-09 10 2027-04-10 11 2027-04-11 12 2027-04-12 13 2027-04-13 14 2027-04-14 15 2027-04-15 16 2027-04-16 17 2027-04-17 18 2027-04-18 19 2027-04-19 20 2027-04-20 21 2027-04-21 22 2027-04-22 23 2027-04-23 24 2027-04-24 25 2027-04-25 26 2027-04-26 27 2027-04-27 28 2027-04-28 29 2027-04-29 30 2027-04-30 1 2027-05-01 2 2027-05-02 3 2027-05-03 4 2027-05-04 5 2027-05-05 6 2027-05-06 7 2027-05-07 8 2027-05-08 9 2027-05-09 10 2027-05-10 11 2027-05-11 12 2027-05-12 13 2027-05-13 14 2027-05-14 15 2027-05-15 16 2027-05-16
ACV Académico de Viseu @BEN 2-2 CD 0-1 @CSM 2-2 FCP 0-3 @GIL 1-0 GUI 2-1 @AMA 2-0 EST @SPO RIO @CDN ALV @FAM ? FCA ? @SCB ? @MOR ? CAS ? BEN ? @CD ? CSM ? @FCP ? GIL ? @GUI ? AMA ? @EST ? SPO ? @RIO ? CDN ? @ALV ? FAM ? @FCA ? SCB ? MOR ? @CAS ? 34
ALV Alverca @FCP 0-2 AMA 2-2 @SPO 1-3 CD 1-1 SCB 1-2 @CDN 3-1 RIO 1-0 @FAM FCA @BEN CAS @ACV MOR ? @GUI ? GIL ? @EST ? CSM ? FCP ? @AMA ? SPO ? @CD ? @SCB ? CDN ? @RIO ? FAM ? @FCA ? BEN ? @CAS ? ACV ? @MOR ? GUI ? @GIL ? EST ? @CSM ? 34
FCA Arouca @GUI 1-0 MOR 4-0 @FCP 0-2 CSM 2-1 @EST 0-0 CD 1-2 @SPO 2-2 AMA @ALV CDN @FAM RIO @SCB ? @ACV ? CAS ? @GIL ? BEN ? GUI ? @MOR ? FCP ? @CSM ? EST ? @CD ? SPO ? @AMA ? ALV ? @CDN ? FAM ? @RIO ? SCB ? ACV ? @CAS ? GIL ? @BEN ? 34
CAS Casa Pia @CSM 0-1 BEN 0-7 @GIL 0-2 MOR 0-1 @GUI 0-0 FCP 1-4 @EST 2-1 CD @AMA SPO @ALV SCB @RIO ? CDN ? @FCA ? FAM ? @ACV ? CSM ? @BEN ? GIL ? @MOR ? GUI ? @FCP ? EST ? @CD ? AMA ? @SPO ? ALV ? @SCB ? RIO ? @CDN ? FCA ? @FAM ? ACV ? 34
EST Estoril Praia FAM 1-1 @CDN 0-2 RIO 0-2 @BEN 1-2 FCA 0-0 @SCB 0-1 CAS 1-2 @ACV MOR @FCP CSM @GIL GUI ? CD ? @SPO ? ALV ? @AMA ? @FAM ? CDN ? @RIO ? BEN ? @FCA ? SCB ? @CAS ? ACV ? @MOR ? FCP ? @CSM ? GIL ? @GUI ? @CD ? SPO ? @ALV ? AMA ? 34
AMA Estrela da Amadora SPO 2-2 @ALV 2-2 @CDN 3-2 FAM 2-2 SCB 2-1 @RIO 3-3 ACV 0-2 @FCA CAS @MOR BEN @GUI GIL ? @FCP ? CSM ? @CD ? EST ? @SPO ? ALV ? @SCB ? CDN ? @FAM ? RIO ? @ACV ? FCA ? @CAS ? MOR ? @BEN ? GUI ? @GIL ? FCP ? @CSM ? CD ? @EST ? 34
FAM Famalicão @EST 1-1 CSM 1-2 @CD 0-1 GIL 0-0 @AMA 2-2 SPO 1-1 @CDN 4-0 ALV @RIO @SCB FCA @BEN ACV ? @MOR ? FCP ? @CAS ? GUI ? EST ? @CSM ? CD ? @GIL ? AMA ? @SPO ? CDN ? @ALV ? RIO ? SCB ? @FCA ? BEN ? @ACV ? MOR ? @FCP ? CAS ? @GUI ? 34
GIL Gil Vicente RIO 1-0 CAS 2-0 @FAM 0-0 ACV 0-1 @BEN 1-3 CSM 1-1 @MOR @SCB FCP GUI @CD EST @AMA ? SPO ? @ALV ? FCA ? @CDN ? @RIO ? SCB ? @CAS ? FAM ? @ACV ? BEN ? @CSM ? MOR ? @FCP ? @GUI ? CD ? @EST ? AMA ? @SPO ? ALV ? @FCA ? CDN ? 34
CSM Marítimo CAS 1-0 @FAM 2-1 ACV 2-2 @FCA 1-2 BEN 0-3 @MOR 1-3 @GIL 1-1 FCP @GUI CD @EST CDN @SPO ? RIO ? @AMA ? SCB ? @ALV ? @CAS ? FAM ? @ACV ? FCA ? @BEN ? MOR ? GIL ? @FCP ? GUI ? @CD ? EST ? @CDN ? SPO ? @RIO ? AMA ? @SCB ? ALV ? 34
MOR Moreirense SCB 2-2 @FCA 0-4 @CAS 1-0 @FCP 1-2 BEN 0-4 CSM 3-1 @GUI 1-1 GIL @EST AMA @SPO CD @ALV ? FAM ? @CDN ? ACV ? @RIO ? @SCB ? FCA ? @BEN ? CAS ? FCP ? @CSM ? GUI ? @GIL ? EST ? @AMA ? SPO ? @CD ? ALV ? @FAM ? CDN ? @ACV ? RIO ? 34
CDN Nacional @CD 2-2 EST 2-0 @GUI 0-1 AMA 2-3 @SPO 0-2 ALV 1-3 FAM 0-4 @RIO SCB @FCA ACV @CSM BEN ? @CAS ? MOR ? @FCP ? GIL ? CD ? @EST ? GUI ? @AMA ? SPO ? @ALV ? @FAM ? RIO ? @SCB ? FCA ? @ACV ? CSM ? @BEN ? CAS ? @MOR ? FCP ? @GIL ? 34
FCP Porto ALV 2-0 @RIO 2-0 FCA 2-0 @ACV 3-0 MOR 2-1 @CAS 4-1 BEN 3-1 @CSM @GIL EST @GUI SPO @CD ? AMA ? @FAM ? CDN ? @SCB ? @ALV ? RIO ? @FCA ? ACV ? @MOR ? CAS ? @BEN ? CSM ? GIL ? @EST ? GUI ? @SPO ? CD ? @AMA ? FAM ? @CDN ? SCB ? 34
RIO Rio Ave @GIL 0-1 FCP 0-2 @EST 2-0 SPO 0-4 @CD 0-4 AMA 3-3 @ALV 0-1 CDN FAM @ACV SCB @FCA CAS ? @CSM ? BEN ? @GUI ? MOR ? GIL ? @FCP ? EST ? @SPO ? CD ? @AMA ? ALV ? @CDN ? @FAM ? ACV ? @SCB ? FCA ? @CAS ? CSM ? @BEN ? GUI ? @MOR ? 34
CD Santa Clara CDN 2-2 @ACV 1-0 FAM 1-0 @ALV 1-1 RIO 4-0 @FCA 2-1 SCB 0-0 @CAS BEN @CSM GIL @MOR FCP ? @EST ? GUI ? AMA ? @SPO ? @CDN ? ACV ? @FAM ? ALV ? @RIO ? FCA ? @SCB ? CAS ? @BEN ? CSM ? @GIL ? MOR ? @FCP ? EST ? @GUI ? @AMA ? SPO ? 34
BEN Sport Lisboa e Benfica ACV 2-2 @CAS 7-0 EST 2-1 @CSM 3-0 @MOR 4-0 GIL 3-1 @FCP 1-3 GUI @CD ALV @AMA FAM @CDN ? SCB ? @RIO ? SPO ? @FCA ? @ACV ? CAS ? MOR ? @EST ? CSM ? @GIL ? FCP ? @GUI ? CD ? @ALV ? AMA ? @FAM ? CDN ? @SCB ? RIO ? @SPO ? FCA ? 34
SCB Sporting Clube de Braga @MOR 2-2 GUI 1-0 @ALV 2-1 @AMA 1-2 EST 1-0 @CD 0-0 SPO GIL @CDN FAM @RIO @CAS FCA ? @BEN ? ACV ? @CSM ? FCP ? MOR ? @GIL ? AMA ? @GUI ? ALV ? @EST ? CD ? @SPO ? CDN ? @FAM ? RIO ? CAS ? @FCA ? BEN ? @ACV ? CSM ? @FCP ? 34
SPO Sporting Clube de Portugal @AMA 2-2 GUI 3-2 ALV 3-1 @RIO 4-0 CDN 2-0 @FAM 1-1 FCA 2-2 @SCB ACV @CAS MOR @FCP CSM ? @GIL ? EST ? @BEN ? CD ? AMA ? @GUI ? @ALV ? RIO ? @CDN ? FAM ? @FCA ? SCB ? @ACV ? CAS ? @MOR ? FCP ? @CSM ? GIL ? @EST ? BEN ? @CD ? 34
GUI Vitória FCA 0-1 @SPO 2-3 CDN 1-0 @SCB 0-1 CAS 0-0 @ACV 1-2 MOR 1-1 @BEN CSM @GIL FCP AMA @EST ? ALV ? @CD ? RIO ? @FAM ? @FCA ? SPO ? @CDN ? SCB ? @CAS ? ACV ? @MOR ? BEN ? @CSM ? GIL ? @FCP ? @AMA ? EST ? @ALV ? CD ? @RIO ? FAM ? 34

home @ away no matches league-wide

306 matches, Aug 7 – May 16. 198 still without a confirmed kick-off time. Football data provided by the Football-Data.org API, updated nightly.

The 2026-27 Primeira Liga season at a glance

The 2026-27 season runs from Aug 7 to May 16: 306 matches across 34 match rounds, 34 for each of the 18 clubs, split evenly between home and away. Every club plays every other club twice, once at each ground.

The grid is the point of this page. One club's next three matches tell you nothing about whether they are about to face three of last season's top four while a rival plays three of the bottom — reading the whole column down 18 rows tells you at once. The P column counts matches in the range you are looking at, which is the quickest way to spot who has a game in hand.

Why a column is a day

Every column here is a calendar date, the same as on every other grid on this site. A club plays about once a week, so most columns are empty: this season runs across 283 of them and 215 carry no match in the whole competition — and that is the honest picture. A row reads left to right in the order the matches are actually played, the gap between two matches is drawn to scale, and a Wednesday night in a congested week sits where it belongs instead of inside a block with the weekend.

This page grouped its columns by match round until 2026-08-22. Rounds are tidier, but a round is an ordering rather than a stretch of the calendar: a match moved for a cup tie keeps its round while taking a new date, so a club's row could show round one after round two — in this competition, Estrela da Amadora play their round 3 match on Sep 10, after their round 5 match on Sep 5 — and a schedule that has to be read in an order other than left to right is not a schedule. Dates cannot do that.

Kick-off times, and why some are missing

The schedule is published for the whole season up front, but kick-off times are not. Broadcasters select matches about five or six weeks ahead, and only then is a match pinned to a particular slot — it can move day as well as time. Of the 306 matches here, 108 have a confirmed kick-off — everything through match round 12. The rest show a date and a ?, because showing a placeholder time that is going to change would be worse than showing none.

Confirmed times are converted to your own timezone — detected automatically, overridable in the “Times in” control. Tapping a match shows the full local date, the ground, and the kick-off in the stadium's own time.

Frequently asked questions

How many matches are in the 2026-27 Primeira Liga season?

306 matches: 34 match rounds, so 34 for each of the 18 clubs — 17 at home and 17 away. Every club plays every other club twice.

When does the 2026-27 Primeira Liga season start and end?

The season runs from Aug 7 to May 16. Cup competitions are not shown on this grid.

Why do some matches show no kick-off time?

Because it has not been decided yet. The schedule is published for the whole season up front, but kick-off times are confirmed only about five or six weeks ahead, once the broadcasters have chosen which matches to televise — and a match can move day as well as time when that happens. A match whose time is still open is marked with a ? on this grid. Right now 108 of the 306 have a confirmed kick-off, through match round 12.

How do I see Primeira Liga kick-off times in my own timezone?

They are already converted. The page detects your timezone and shows every confirmed kick-off in it, and the "Times in" control lets you pick another. Matches whose time is not yet confirmed show a date only, rather than a placeholder that would move.

How do I read the grid?

Rows are clubs, alphabetical. Every column is a calendar date, so a club's row runs left to right in the order it actually plays, and a column is one day's matches across the whole division. Most columns are empty, because a club plays about once a week — that emptiness is the shape of a football season. An @ and a separate colour mark an away match, a ? marks a kick-off time the broadcasters have not fixed yet, and the final score replaces the opponent once a match has been played.

Clubs

Académico de Viseu Alverca Arouca Casa Pia Estoril Praia Estrela da Amadora Famalicão Gil Vicente Marítimo Moreirense Nacional Porto Rio Ave Santa Clara Sport Lisboa e Benfica Sporting Clube de Braga Sporting Clube de Portugal Vitória