The 1999 AFL season was the 103rd season of the Australian Football League (AFL), the highest level senior Australian rules football competition in Australia, which was known as the Victorian Football League until 1989. The season featured sixteen clubs, ran from 25 March until 25 September, and comprised a 22-game home-and-away season followed by a finals series featuring the top eight clubs.

The premiership was won by the Kangaroos (North Melbourne) for the fourth time, after it defeated  by 35 points in the 1999 AFL Grand Final.

AFL Draft
See 1999 AFL Draft.

Ansett Australia Cup

Hawthorn defeated Port Adelaide 12.11 (83) to 5.6 (36).

Premiership season

Round 1

|- bgcolor="#CCCCFF"
| Home team
| Score
| Away team
| Score
| Venue
| Attendance
| Date
|- bgcolor="#FFFFFF"
| 
| 16.14 (110)
| 
| 9.17 (71)
| MCG
| 71,501
| Thursday, 25 March
|- bgcolor="#FFFFFF"
| 
| 22.9 (141)
| 
| 21.9 (135)
| MCG
| 33,674
| Friday, 26 March
|- bgcolor="#FFFFFF"
| 
| 14.20 (104)
| 
| 13.9 (87)
| MCG
| 47,620
| Saturday, 27 March
|- bgcolor="#FFFFFF"
| 
| 12.6 (78)
| 
| 13.13 (91)
| Football Park
| 39,135
| Saturday, 27 March
|- bgcolor="#FFFFFF"
| 
| 23.14 (152)
| 
| 10.3 (63)
| Gabba
| 20,172
| Saturday, 27 March
|- bgcolor="#FFFFFF"
| 
| 8.11 (59)
| 
| 10.14 (74)
| MCG
| 48,620
| Sunday, 28 March
|- bgcolor="#FFFFFF"
| 
| 13.20 (98)
| 
| 15.12 (102)
| Subiaco Oval
| 32,680
| Sunday, 28 March
|- bgcolor="#FFFFFF"
| 
| 12.14 (86)
| 
| 17.13 (115)
| SCG
| 28,264
| Sunday, 28 March

Round 2

|- bgcolor="#CCCCFF"
| Home team
| Score
| Away team
| Score
| Venue
| Attendance
| Date
|- bgcolor="#FFFFFF"
| 
| 15.16 (106)
| 
| 22.9 (141)
| MCG
| 48,383
| Thursday, 1 April
|- bgcolor="#FFFFFF"
| 
| 15.18 (108)
| 
| 13.18 (96)
| MCG
| 40,462
| Saturday, 3 April
|- bgcolor="#FFFFFF"
| 
| 20.14 (134)
| 
| 24.11 (155)
| Optus Oval
| 22,162
| Saturday, 3 April
|- bgcolor="#FFFFFF"
| 
| 11.17 (83)
| 
| 11.7 (73)
| Subiaco Oval
| 29,932
| Saturday, 3 April
|- bgcolor="#FFFFFF"
| 
| 8.8 (56)
| 
| 8.12 (60)
| Waverley Park
| 29,135
| Saturday, 3 April
|- bgcolor="#FFFFFF"
| 
| 17.12 (114)
| 
| 15.11 (101)
| Football Park
| 28,384
| Sunday, 4 April
|- bgcolor="#FFFFFF"
| 
| 19.16 (130)
| 
| 13.6 (84)
| Waverley Park
| 37,232
| Sunday, 4 April
|- bgcolor="#FFFFFF"
| 
| 15.22 (112)
| 
| 12.11 (83)
| MCG
| 71,506
| Monday, 5 April

Round 3

|- bgcolor="#CCCCFF"
| Home team
| Score
| Away team
| Score
| Venue
| Attendance
| Date
|- bgcolor="#FFFFFF"
| 
| 13.12 (90)
| 
| 15.10 (100)
| MCG
| 46,173
| Friday, 9 April
|- bgcolor="#FFFFFF"
| 
| 22.17 (149)
| 
| 9.14 (68)
| MCG
| 50,324
| Saturday, 10 April
|- bgcolor="#FFFFFF"
| 
| 14.13 (97)
| 
| 12.19 (91)
| Shell Stadium
| 27,417
| Saturday, 10 April
|- bgcolor="#FFFFFF"
| 
| 11.12 (78)
| 
| 16.16 (112)
| Subiaco Oval
| 22,552
| Saturday, 10 April
|- bgcolor="#FFFFFF"
| 
| 11.14 (80)
| 
| 15.13 (103)
| Gabba
| 21,092
| Saturday, 10 April
|- bgcolor="#FFFFFF"
| 
| 11.9 (75)
| 
| 16.15 (111)
| Victoria Park
| 19,441
| Sunday, 11 April
|- bgcolor="#FFFFFF"
| 
| 15.13 (103)
| 
| 15.15 (105)
| Optus Oval
| 27,649
| Sunday, 11 April
|- bgcolor="#FFFFFF"
| 
| 14.12 (96)
| 
| 11.15 (81)
| Football Park
| 41,708
| Sunday, 11 April

Round 4

|- bgcolor="#CCCCFF"
| Home team
| Score
| Away team
| Score
| Venue
| Attendance
| Date
|- bgcolor="#FFFFFF"
| 
| 12.13 (85)
| 
| 12.12 (84)
| MCG
| 46,289
| Friday, 16 April
|- bgcolor="#FFFFFF"
| 
| 19.7 (121)
| 
| 14.8 (92)
| Optus Oval
| 19,100
| Saturday, 17 April
|- bgcolor="#FFFFFF"
| 
| 14.12 (96)
| 
| 22.14 (146)
| MCG
| 49,609
| Saturday, 17 April
|- bgcolor="#FFFFFF"
| 
| 16.11 (107)
| 
| 15.9 (99)
| Waverley Park
| 33,581
| Saturday, 17 April
|- bgcolor="#FFFFFF"
| 
| 17.13 (115)
| 
| 8.6 (54)
| Gabba
| 21,360
| Saturday, 17 April
|- bgcolor="#FFFFFF"
| 
| 10.12 (72)
| 
| 10.10 (70)
| SCG
| 29,617
| Saturday, 17 April
|- bgcolor="#FFFFFF"
| 
| 10.14 (74)
| 
| 17.13 (115)
| Football Park
| 34,570
| Sunday, 18 April
|- bgcolor="#FFFFFF"
| 
| 15.7 (97)
| 
| 3.5 (23)
| Subiaco Oval
| 32,893
| Sunday, 18 April

Round 5

|- bgcolor="#CCCCFF"
| Home team
| Score
| Away team
| Score
| Venue
| Attendance
| Date
|- bgcolor="#FFFFFF"
| 
| 21.17 (143)
| 
| 12.9 (81)
| MCG
| 43,043
| Friday, 23 April
|- bgcolor="#FFFFFF"
| 
| 9.11 (65)
| 
| 17.13 (115)
| Optus Oval
| 31,189
| Saturday, 24 April
|- bgcolor="#FFFFFF"
| 
| 9.14 (68)
| 
| 14.10 (94)
| Waverley Park
| 27,370
| Saturday, 24 April
|- bgcolor="#FFFFFF"
| 
| 13.12 (90)
| 
| 9.12 (66)
| MCG
| 24,533
| Saturday, 24 April
|- bgcolor="#FFFFFF"
| 
| 14.8 (92)
| 
| 13.12 (90)
| SCG
| 11,706
| Saturday, 24 April
|- bgcolor="#FFFFFF"
| 
| 23.17 (155)
| 
| 11.8 (74)
| Football Park
| 42,641
| Sunday, 25 April
|- bgcolor="#FFFFFF"
| 
| 15.18 (108)
| 
| 15.10 (100)
| MCG
| 73,118
| Sunday, 25 April
|- bgcolor="#FFFFFF"
| 
| 7.11 (53)
| 
| 15.18 (108)
| Subiaco Oval
| 24,044
| Sunday, 25 April

Round 6

|- bgcolor="#CCCCFF"
| Home team
| Score
| Away team
| Score
| Venue
| Attendance
| Date
|- bgcolor="#FFFFFF"
| 
| 14.15 (99)
| 
| 7.16 (58)
| MCG
| 43,777
| Friday, 30 April
|- bgcolor="#FFFFFF"
| 
| 14.14 (98)
| 
| 14.16 (100)
| Shell Stadium
| 27,341
| Saturday, 1 May
|- bgcolor="#FFFFFF"
| 
| 11.12 (78)
| 
| 17.11 (113)
| MCG
| 59,458
| Saturday, 1 May
|- bgcolor="#FFFFFF"
| 
| 18.16 (124)
| 
| 7.10 (52)
| Subiaco Oval
| 32,370
| Saturday, 1 May
|- bgcolor="#FFFFFF"
| 
| 14.9 (93)
| 
| 10.10 (70)
| Gabba
| 21,753
| Saturday, 1 May
|- bgcolor="#FFFFFF"
| 
| 18.7 (115)
| 
| 12.15 (87)
| Football Park
| 45,615
| Sunday, 2 May
|- bgcolor="#FFFFFF"
| 
| 16.13 (109)
| 
| 21.11 (137)
| MCG
| 38,245
| Sunday, 2 May
|- bgcolor="#FFFFFF"
| 
| 15.10 (100)
| 
| 11.9 (75)
| SCG
| 24,629
| Sunday, 2 May

Round 7

|- bgcolor="#CCCCFF"
| Home team
| Score
| Away team
| Score
| Venue
| Attendance
| Date
|- bgcolor="#FFFFFF"
| 
| 18.10 (118)
| 
| 14.14 (98)
| MCG
| 52,103
| Friday, 7 May
|- bgcolor="#FFFFFF"
| 
| 20.14 (134)
| 
| 17.11 (113)
| MCG
| 51,722
| Saturday, 8 May
|- bgcolor="#FFFFFF"
| 
| 9.14 (68)
| 
| 7.6 (48)
| Waverley Park
| 28,240
| Saturday, 8 May
|- bgcolor="#FFFFFF"
| 
| 13.18 (96)
| 
| 9.8 (62)
| Gabba
| 22,023
| Saturday, 8 May
|- bgcolor="#FFFFFF"
| 
| 10.15 (75)
| 
| 18.12 (120)
| Football Park
| 28,525
| Saturday, 8 May
|- bgcolor="#FFFFFF"
| 
| 16.20 (116)
| 
| 15.9 (99)
| Subiaco Oval
| 17,620
| Sunday, 9 May
|- bgcolor="#FFFFFF"
| 
| 22.9 (141)
| 
| 12.13 (85)
| MCG
| 22,006
| Sunday, 9 May
|- bgcolor="#FFFFFF"
| 
| 20.11 (131)
| 
| 16.7 (103)
| SCG
| 25,823
| Sunday, 9 May

Round 8

|- bgcolor="#CCCCFF"
| Home team
| Score
| Away team
| Score
| Venue
| Attendance
| Date
|- bgcolor="#FFFFFF"
| 
| 7.9 (51)
| 
| 13.16 (94)
| MCG
| 62,928
| Friday, 14 May
|- bgcolor="#FFFFFF"
| 
| 14.15 (99)
| 
| 8.11 (59)
| MCG
| 26,339
| Saturday, 15 May
|- bgcolor="#FFFFFF"
| 
| 17.15 (117)
| 
| 7.11 (53)
| Optus Oval
| 18,226
| Saturday, 15 May
|- bgcolor="#FFFFFF"
| 
| 19.11 (125)
| 
| 13.8 (86)
| Football Park
| 30,557
| Saturday, 15 May
|- bgcolor="#FFFFFF"
| 
| 7.7 (49)
| 
| 15.11 (101)
| Waverley Park
| 21,114
| Saturday, 15 May
|- bgcolor="#FFFFFF"
| 
| 19.12 (126)
| 
| 11.6 (72)
| Subiaco Oval
| 32,484
| Sunday, 16 May
|- bgcolor="#FFFFFF"
| 
| 14.16 (100)
| 
| 21.15 (141)
| Shell Stadium
| 21,581
| Sunday, 16 May
|- bgcolor="#FFFFFF"
| 
| 21.9 (135)
| 
| 17.17 (119)
| MCG
| 28,217
| Sunday, 16 May

Round 9

|- bgcolor="#CCCCFF"
| Home team
| Score
| Away team
| Score
| Venue
| Attendance
| Date
|- bgcolor="#FFFFFF"
| 
| 12.16 (88)
| 
| 19.12 (126)
| MCG
| 44,457
| Friday, 21 May
|- bgcolor="#FFFFFF"
| 
| 15.7 (97)
| 
| 9.10 (64)
| Optus Oval
| 24,669
| Saturday, 22 May
|- bgcolor="#FFFFFF"
| 
| 7.5 (47)
| 
| 15.17 (107)
| Waverley Park
| 46,479
| Saturday, 22 May
|- bgcolor="#FFFFFF"
| 
| 12.14 (86)
| 
| 17.14 (116)
| Subiaco Oval
| 24,218
| Saturday, 22 May
|- bgcolor="#FFFFFF"
| 
| 9.13 (67)
| 
| 12.6 (78)
| Football Park
| 38,151
| Saturday, 22 May
|- bgcolor="#FFFFFF"
| 
| 18.11 (119)
| 
| 7.15 (57)
| Waverley Park
| 22,232
| Sunday, 23 May
|- bgcolor="#FFFFFF"
| 
| 22.12 (144)
| 
| 11.21 (87)
| Gabba
| 22,948
| Sunday, 23 May
|- bgcolor="#FFFFFF"
| 
| 11.15 (81)
| 
| 14.10 (94)
| SCG
| 36,787
| Sunday, 23 May

Round 10

|- bgcolor="#CCCCFF"
| Home team
| Score
| Away team
| Score
| Venue
| Attendance
| Date
|- bgcolor="#FFFFFF"
| 
| 13.12 (90)
| 
| 22.12 (144)
| MCG
| 19,178
| Friday, 4 June
|- bgcolor="#FFFFFF"
| 
| 8.13 (61)
| 
| 16.13 (109)
| Football Park
| 39,389
| Friday, 4 June
|- bgcolor="#FFFFFF"
| 
| 16.12 (108)
| 
| 18.10 (118)
| Shell Stadium
| 22,906
| Saturday, 5 June
|- bgcolor="#FFFFFF"
| 
| 11.15 (81)
| 
| 12.15 (87)
| MCG
| 45,382
| Saturday, 5 June
|- bgcolor="#FFFFFF"
| 
| 6.8 (44)
| 
| 9.12 (66)
| Gabba
| 17,665
| Saturday, 5 June
|- bgcolor="#FFFFFF"
| 
| 12.12 (84)
| 
| 15.11 (101)
| Subiaco Oval
| 33,313
| Sunday, 6 June
|- bgcolor="#FFFFFF"
| 
| 20.13 (133)
| 
| 18.18 (126)
| MCG
| 16,429
| Sunday, 6 June
|- bgcolor="#FFFFFF"
| 
| 22.13 (145)
| 
| 14.10 (94)
| SCG
| 41,280
| Sunday, 6 June

Note: Tony Lockett kicked the record number of goals in the Sydney vs Collingwood game

Round 11

|- bgcolor="#CCCCFF"
| Home team
| Score
| Away team
| Score
| Venue
| Attendance
| Date
|- bgcolor="#FFFFFF"
| 
| 21.11 (137)
| 
| 15.14 (104)
| MCG
| 61,783
| Friday, 11 June
|- bgcolor="#FFFFFF"
| 
| 12.6 (78)
| 
| 13.16 (94)
| Optus Oval
| 24,235
| Saturday, 12 June
|- bgcolor="#FFFFFF"
| 
| 10.13 (73)
| 
| 15.12 (102)
| Waverley Park
| 46,880
| Saturday, 12 June
|- bgcolor="#FFFFFF"
| 
| 4.8 (32)
| 
| 3.12 (30)
| Football Park
| 25,753
| Saturday, 12 June
|- bgcolor="#FFFFFF"
| 
| 10.16 (76)
| 
| 11.10 (76)
| Optus Oval
| 18,977
| Sunday, 13 June
|- bgcolor="#FFFFFF"
| 
| 18.14 (122)
| 
| 12.11 (83)
| Subiaco Oval
| 23,814
| Sunday, 13 June
|- bgcolor="#FFFFFF"
| 
| 11.12 (78)
| 
| 13.11 (89)
| MCG
| 40,031
| Monday, 14 June
|- bgcolor="#FFFFFF"
| 
| 12.12 (84)
| 
| 9.10 (64)
| SCG
| 15,230
| Monday, 14 June

Round 12

|- bgcolor="#CCCCFF"
| Home team
| Score
| Away team
| Score
| Venue
| Attendance
| Date
|- bgcolor="#FFFFFF"
| 
| 15.11 (101)
| 
| 9.12 (66)
| MCG
| 36,013
| Friday, 18 June
|- bgcolor="#FFFFFF"
| 
| 17.7 (109)
| 
| 14.12 (96)
| Waverley Park
| 36,381
| Saturday, 19 June
|- bgcolor="#FFFFFF"
| 
| 17.13 (115)
| 
| 11.13 (79)
| Optus Oval
| 13,513
| Saturday, 19 June
|- bgcolor="#FFFFFF"
| 
| 9.17 (71)
| 
| 13.11 (89)
| Gabba
| 24,989
| Saturday, 19 June
|- bgcolor="#FFFFFF"
| 
| 14.15 (99)
| 
| 14.10 (94)
| Football Park
| 36,737
| Saturday, 19 June
|- bgcolor="#FFFFFF"
| 
| 8.13 (61)
| 
| 12.16 (88)
| Optus Oval
| 26,006
| Sunday, 20 June
|- bgcolor="#FFFFFF"
| 
| 14.8 (92)
| 
| 12.21 (93)
| MCG
| 28,350
| Sunday, 20 June
|- bgcolor="#FFFFFF"
| 
| 21.11 (137)
| 
| 11.6 (72)
| Subiaco Oval
| 32,596
| Sunday, 20 June

Round 13

|- bgcolor="#CCCCFF"
| Home team
| Score
| Away team
| Score
| Venue
| Attendance
| Date
|- bgcolor="#FFFFFF"
| 
| 10.20 (80)
| 
| 11.10 (76)
| MCG
| 55,230
| Friday, 25 June
|- bgcolor="#FFFFFF"
| 
| 9.14 (68)
| 
| 16.16 (112)
| Shell Stadium
| 19,093
| Saturday, 26 June
|- bgcolor="#FFFFFF"
| 
| 11.16 (82)
| 
| 15.13 (103)
| Waverley Park
| 40,790
| Saturday, 26 June
|- bgcolor="#FFFFFF"
| 
| 8.17 (65)
| 
| 6.9 (45)
| Football Park
| 28,739
| Saturday, 26 June
|- bgcolor="#FFFFFF"
| 
| 13.11 (89)
| 
| 8.5 (53)
| MCG
| 36,558
| Saturday, 26 June
|- bgcolor="#FFFFFF"
| 
| 19.12 (126)
| 
| 19.13 (127)
| Subiaco Oval
| 22,865
| Sunday, 27 June
|- bgcolor="#FFFFFF"
| 
| 16.13 (109)
| 
| 13.13 (91)
| MCG
| 23,371
| Sunday, 27 June
|- bgcolor="#FFFFFF"
| 
| 15.8 (98)
| 
| 20.13 (133)
| SCG
| 25,528
| Sunday, 27 June

Round 14

|- bgcolor="#CCCCFF"
| Home team
| Score
| Away team
| Score
| Venue
| Attendance
| Date
|- bgcolor="#FFFFFF"
| 
| 13.9 (87)
| 
| 12.16 (88)
| MCG
| 29,462
| Friday, 2 July
|- bgcolor="#FFFFFF"
| 
| 15.12 (102)
| 
| 15.10 (100)
| MCG
| 24,189
| Saturday, 3 July
|- bgcolor="#FFFFFF"
| 
| 13.18 (96)
| 
| 8.7 (55)
| Waverley Park
| 43,614
| Saturday, 3 July
|- bgcolor="#FFFFFF"
| 
| 16.16 (112)
| 
| 11.11 (77)
| Subiaco Oval
| 33,541
| Saturday, 3 July
|- bgcolor="#FFFFFF"
| 
| 16.12 (108)
| 
| 10.12 (72)
| MCG
| 35,273
| Sunday, 4 July
|- bgcolor="#FFFFFF"
| 
| 7.13 (55)
| 
| 13.11 (89)
| Waverley Park
| 48,353
| Sunday, 4 July
|- bgcolor="#FFFFFF"
| 
| 25.9 (159)
| 
| 14.12 (96)
| Football Park
| 40,209
| Sunday, 4 July
|- bgcolor="#FFFFFF"
| 
| 14.17 (101)
| 
| 18.15 (123)
| SCG
| 28,420
| Sunday, 4 July

Round 15

|- bgcolor="#CCCCFF"
| Home team
| Score
| Away team
| Score
| Venue
| Attendance
| Date
|- bgcolor="#FFFFFF"
| 
| 16.8 (104)
| 
| 11.9 (75)
| MCG
| 32,564
| Friday, 9 July
|- bgcolor="#FFFFFF"
| 
| 20.16 (136)
| 
| 13.10 (88)
| Optus Oval
| 22,720
| Saturday, 10 July
|- bgcolor="#FFFFFF"
| 
| 19.14 (128)
| 
| 19.11 (125)
| Shell Stadium
| 24,395
| Saturday, 10 July
|- bgcolor="#FFFFFF"
| 
| 10.14 (74)
| 
| 18.17 (125)
| MCG
| 35,500
| Saturday, 10 July
|- bgcolor="#FFFFFF"
| 
| 16.11 (107)
| 
| 12.12 (84)
| Subiaco Oval
| 24,411
| Saturday, 10 July
|- bgcolor="#FFFFFF"
| 
| 13.14 (92)
| 
| 9.7 (61)
| Gabba
| 22,758
| Saturday, 10 July
|- bgcolor="#FFFFFF"
| 
| 14.15 (99)
| 
| 9.8 (62)
| Football Park
| 34,671
| Sunday, 11 July
|- bgcolor="#FFFFFF"
| 
| 23.12 (150)
| 
| 16.12 (108)
| MCG
| 44,683
| Sunday, 11 July

Round 16

|- bgcolor="#CCCCFF"
| Home team
| Score
| Away team
| Score
| Venue
| Attendance
| Date
|- bgcolor="#FFFFFF"
| 
| 15.17 (107)
| 
| 13.4 (82)
| MCG
| 44,898
| Friday, 16 July
|- bgcolor="#FFFFFF"
| 
| 10.8 (68)
| 
| 16.11 (107)
| Waverley Park
| 22,268
| Saturday, 17 July
|- bgcolor="#FFFFFF"
| 
| 14.15 (99)
| 
| 14.13 (97)
| MCG
| 27,747
| Saturday, 17 July
|- bgcolor="#FFFFFF"
| 
| 22.11 (143)
| 
| 13.10 (88)
| SCG
| 10,676
| Saturday, 17 July
|- bgcolor="#FFFFFF"
| 
| 10.12 (72)
| 
| 9.10 (64)
| Football Park
| 30,750
| Sunday, 18 July
|- bgcolor="#FFFFFF"
| 
| 9.16 (70)
| 
| 23.8 (146) 
| MCG
| 66,207
| Sunday, 18 July
|- bgcolor="#FFFFFF"
| 
| 14.8 (92)
| 
| 18.16 (124)
| Waverley Park
| 40,319
| Sunday, 18 July
|- bgcolor="#FFFFFF"
| 
| 11.6 (72)
| 
| 17.17 (119)
| Subiaco Oval
| 36,763
| Sunday, 18 July

Round 17

|- bgcolor="#CCCCFF"
| Home team
| Score
| Away team
| Score
| Venue
| Attendance
| Date
|- bgcolor="#FFFFFF"
| 
| 11.13 (79)
| 
| 14.14 (98)
| MCG
| 28,854
| Friday, 23 July
|- bgcolor="#FFFFFF"
| 
| 24.14 (158)
| 
| 20.12 (132)
| MCG
| 68,831
| Saturday, 24 July
|- bgcolor="#FFFFFF"
| 
| 13.13 (91)
| 
| 14.14 (98)
| Shell Stadium
| 19,951
| Saturday, 24 July
|- bgcolor="#FFFFFF"
| 
| 14.12 (96)
| 
| 8.7 (55)
| SCG
| 29,507
| Saturday, 24 July
|- bgcolor="#FFFFFF"
| 
| 13.11 (89)
| 
| 14.12 (96)
| WACA
| 22,987
| Saturday, 24 July
|- bgcolor="#FFFFFF"
| 
| 18.17 (125)
| 
| 11.10 (76)
| Football Park
| 38,679
| Sunday, 25 July
|- bgcolor="#FFFFFF"
| 
| 25.16 (166)
| 
| 9.12 (66)
| Gabba
| 22,186
| Sunday, 25 July
|- bgcolor="#FFFFFF"
| 
| 14.12 (96)
| 
| 23.15 (153)
| MCG
| 53,560
| Sunday, 25 July

Round 18

|- bgcolor="#CCCCFF"
| Home team
| Score
| Away team
| Score
| Venue
| Attendance
| Date
|- bgcolor="#FFFFFF"
| 
| 15.11 (101)
| 
| 11.13 (79)
| MCG
| 38,196
| Friday, 30 July
|- bgcolor="#FFFFFF"
| 
| 12.8 (80)
| 
| 15.11 (101)
| MCG
| 27,408
| Saturday, 31 July
|- bgcolor="#FFFFFF"
| 
| 9.12 (66)
| 
| 15.9 (99)
| Waverley Park
| 20,131
| Saturday, 31 July
|- bgcolor="#FFFFFF"
| 
| 11.13 (79)
| 
| 15.3 (93)
| SCG
| 31,776
| Saturday, 31 July
|- bgcolor="#FFFFFF"
| 
| 16.12 (108)
| 
| 10.12 (72)
| WACA
| 26,126
| Saturday, 31 July
|- bgcolor="#FFFFFF"
| 
| 9.12 (66)
| 
| 17.16 (118)
| Football Park
| 33,345
| Sunday, 1 August
|- bgcolor="#FFFFFF"
| 
| 14.15 (99)
| 
| 14.10 (94)
| Optus Oval
| 24,483
| Sunday, 1 August
|- bgcolor="#FFFFFF"
| 
| 15.12 (102)
| 
| 9.23 (77)
| Waverley Park
| 13,941
| Sunday, 1 August

Round 19

|- bgcolor="#CCCCFF"
| Home team
| Score
| Away team
| Score
| Venue
| Attendance
| Date
|- bgcolor="#FFFFFF"
| 
| 23.15 (153)
| 
| 15.3 (93)
| MCG
| 55,096
| Friday, 6 August
|- bgcolor="#FFFFFF"
| 
| 18.10 (118)
| 
| 12.14 (86)
| Shell Stadium
| 17,234
| Saturday, 7 August
|- bgcolor="#FFFFFF"
| 
| 10.19 (79)
| 
| 16.16 (112)
| MCG
| 47,621
| Saturday, 7 August
|- bgcolor="#FFFFFF"
| 
| 17.9 (111)
| 
| 15.11 (101)
| SCG
| 27,964
| Saturday, 7 August
|- bgcolor="#FFFFFF"
| 
| 8.9 (57)
| 
| 19.12 (126)
| WACA
| 23,372
| Saturday, 7 August
|- bgcolor="#FFFFFF"
| 
| 6.8 (44)
| 
| 11.17 (83)
| Football Park
| 33,398
| Sunday, 8 August
|- bgcolor="#FFFFFF"
| 
| 18.14 (122)
| 
| 8.6 (54)
| Waverley Park
| 16,665
| Sunday, 8 August
|- bgcolor="#FFFFFF"
| 
| 18.7 (115)
| 
| 13.13 (91)
| Optus Oval
| 15,804
| Sunday, 8 August

Round 20

|- bgcolor="#CCCCFF"
| Home team
| Score
| Away team
| Score
| Venue
| Attendance
| Date
|- bgcolor="#FFFFFF"
| 
| 10.5 (65)
| 
| 12.15 (87)
| MCG
| 56,129
| Friday, 13 August
|- bgcolor="#FFFFFF"
| 
| 12.7 (79)
| 
| 17.13 (115)
| MCG
| 31,062
| Saturday, 14 August
|- bgcolor="#FFFFFF"
| 
| 13.11 (89)
| 
| 16.18 (114)
| Waverley Park
| 26,261
| Saturday, 14 August
|- bgcolor="#FFFFFF"
| 
| 8.15 (63)
| 
| 6.10 (46)
| Football Park
| 26,000
| Saturday, 14 August
|- bgcolor="#FFFFFF"
| 
| 11.16 (82)
| 
| 12.12 (84)
| WACA
| 24,835
| Saturday, 14 August
|- bgcolor="#FFFFFF"
| 
| 28.13 (181)
| 
| 9.13 (67)
| Gabba
| 23,845
| Sunday, 15 August
|- bgcolor="#FFFFFF"
| 
| 17.11 (113)
| 
| 15.14 (104)
| MCG
| 42,272
| Sunday, 15 August
|- bgcolor="#FFFFFF"
| 
| 25.9 (159)
| 
| 5.11 (41)
| SCG
| 34,299
| Sunday, 15 August

Round 21

|- bgcolor="#CCCCFF"
| Home team
| Score
| Away team
| Score
| Venue
| Attendance
| Date
|- bgcolor="#FFFFFF"
| 
| 22.15 (147)
| 
| 13.11 (89)
| MCG
| 48,835
| Friday, 20 August
|- bgcolor="#FFFFFF"
| 
| 15.16 (106)
| 
| 7.3 (45)
| Optus Oval
| 24,185
| Saturday, 21 August
|- bgcolor="#FFFFFF"
| 
| 15.14 (104)
| 
| 25.9 (159)
| MCG
| 18,679
| Saturday, 21 August
|- bgcolor="#FFFFFF"
| 
| 15.13 (103)
| 
| 15.11 (101)
| Waverley Park
| 31,603
| Saturday, 21 August
|- bgcolor="#FFFFFF"
| 
| 10.16 (76)
| 
| 15.19 (109)
| WACA
| 25,126
| Saturday, 21 August
|- bgcolor="#FFFFFF"
| 
| 13.14 (92)
| 
| 9.14 (68)
| Football Park
| 42,669
| Sunday, 22 August
|- bgcolor="#FFFFFF"
| 
| 16.17 (113)
| 
| 15.10 (100)
| MCG
| 33,449
| Sunday, 22 August
|- bgcolor="#FFFFFF"
| 
| 16.10 (106)
| 
| 16.8 (104)
| Optus Oval
| 17,267
| Sunday, 22 August

Round 22

|- bgcolor="#CCCCFF"
| Home team
| Score
| Away team
| Score
| Venue
| Attendance
| Date
|- bgcolor="#FFFFFF"
| 
| 13.12 (90)
| 
| 11.13 (79)
| MCG
| 34,013
| Friday, 27 August
|- bgcolor="#FFFFFF"
| 
| 17.14 (116)
| 
| 15.9 (99)
| MCG
| 47,480
| Saturday, 28 August
|- bgcolor="#FFFFFF"
| 
| 22.13 (145)
| 
| 11.12 (78)
| Optus Oval
| 15,183
| Saturday, 28 August
|- bgcolor="#FFFFFF"
| 
| 8.4 (52)
| 
| 13.16 (94)
| Victoria Park
| 24,493
| Saturday, 28 August
|- bgcolor="#FFFFFF"
| 
| 12.8 (80)
| 
| 18.13 (121)
| WACA Ground
| 24,696
| Saturday, 28 August
|- bgcolor="#FFFFFF"
| 
| 8.18 (66)
| 
| 22.10 (142)
| Football Park
| 37,662
| Sunday, 29 August
|- bgcolor="#FFFFFF"
| 
| 21.13 (139)
| 
| 13.10 (88)
| Shell Stadium
| 17,378
| Sunday, 29 August
|- bgcolor="#FFFFFF"
| 
| 23.15 (153)
| 
| 11.2 (68)
| Waverley Park
| 72,130
| Sunday, 29 August

Ladder
All teams played 22 games during the home and away season, for a total of 176. An additional 9 games were played during the finals series.

Ladder progression

Finals series

Qualifying Finals

|- bgcolor="#CCCCFF"
| Home team
| Score
| Away team
| Score
| Venue
| Attendance
| Date
|- bgcolor="#FFFFFF"
| 
| 8.12 (60)
| 
| 9.11 (65)
| MCG
| 41,227
| Friday, 3 September
|- bgcolor="#FFFFFF"
| 
| 15.10 (100)
| 
| 8.8 (56)
| MCG
| 31,476
| Saturday, 4 September
|- bgcolor="#FFFFFF"
| 
| 20.18 (138)
| 
| 8.17 (65)
| Gabba
| 26,112
| Saturday, 4 September
|- bgcolor="#FFFFFF"
| 
| 18.15 (123)
| 
| 7.12 (54)
| MCG
| 57,687
| Sunday, 5 September

Semi-finals

|- bgcolor="#CCCCFF"
| Home team
| Score
| Away team
| Score
| Venue
| Attendance
| Date
|- bgcolor="#FFFFFF"
| 
| 10.10 (70)
| 
| 18.16 (124)
| MCG
| 55,682
| Saturday, 11 September
|- bgcolor="#FFFFFF"
| 
| 19.12 (126)
| 
| 10.13 (73)
| Gabba
| 24,045
| Saturday, 11 September

Note: West Coast Eagles played its "home" final at the MCG despite being ranked above Carlton due to the agreement then in place with the Melbourne Cricket Club that at least one game each week of the finals be played at the MCG.

Preliminary Finals

|- bgcolor="#CCCCFF"
| Home team
| Score
| Away team
| Score
| Venue
| Attendance
| Date
|- bgcolor="#FFFFFF"
| 
| 19.9 (123)
| 
| 11.12 (78)
| MCG
| 61,031
| Friday, 17 September
|- bgcolor="#FFFFFF"
| 
| 14.19 (103)
| 
| 16.8 (104)
| MCG
| 80,519
| Saturday, 18 September

Grand Final

|- bgcolor="#CCCCFF"
| Home team
| Score
| Away team
| Score
| Venue
| Attendance
| Date
|- bgcolor="#FFFFFF"
| 
| 19.10 (124)
| 
| 12.17 (89)
| MCG
| 94,228
| Saturday, 25 September

Match attendance

Awards
 The Brownlow Medal was awarded to Shane Crawford of Hawthorn.
 The Leigh Matthews Trophy as the AFL's most valuable player was awarded to Shane Crawford of Hawthorn.
 The Coleman Medal was awarded to Scott Cummings of the West Coast Eagles.
 The Norm Smith Medal was awarded to Shannon Grant of the Kangaroos
 The AFL Rising Star award was awarded to Adam Goodes of the Sydney Swans.
 The wooden Spoon was "awarded" to Collingwood.
 The Reserves Grand Final was won by Essendon against St Kilda. This was the last Reserves Grand Final before the competition was merged with the Victorian Football League.

See also
 List of AFL debuts in 1999

Notes
 Richmond and Adelaide played in torrential and stormy conditions at Football Park in Round 9. Under new laws that were introduced following the power outage which interrupted a game at Waverley Park in 1996, the captains met in the centre to decide whether to call the game off at three quarter time (accepting the progress score as final), due to the thunder and lightning having put out two light towers during half time. At that stage, Adelaide led by a point, but the captains agreed to carry on with the game. Richmond ended up winning by 11 points.
 Two rounds later,  once again played in heavy and unrelenting rain at Football Park, this time against . Port Adelaide won by the score of 4.8 (32) to 3.12 (30). It was Port Adelaide's lowest score, and remained as such until 2010 (also against Richmond), giving them the unique distinction during that period of time of having recorded a victory with their lowest score.
 In round 10, Sydney's Tony Lockett entered the game against Collingwood 2 goals shy of Gordon Coventry's 62-year standing record of 1299 career goals. Lockett kicked his 3rd of 9 goals to break the record, which he still holds as of 2022.
 Brisbane's half-time score of 21.5 (131) against Fremantle in round 20 set the new and enduring record for the highest half-time score in VFL/AFL history.
 In their Round 12 game, Hawthorn trailed St Kilda by 63 points early in the second quarter before recovering to win by thirteen points. This set a new record for the largest ever comeback in a VFL/AFL game, a record which would stand until 2001.
 The start of the Round 22 game between Richmond and Carlton at the Melbourne Cricket Ground was delayed by about half an hour after the scoreboard at the city end caught fire ten minutes before the scheduled bounce down. Players returned to the rooms, and much of the Ponsford Stand was evacuated onto the playing arena.
 Collingwood lost 13 games in a row following on from the end of the previous season. They finally won against Fremantle in Round 8.
 Port Adelaide's percentage of 90.12 remains the worst of any team in VFL/AFL history which qualified a team for the finals (excluding the seasons affected by World War I).
 Waverley Park and Victoria Park both hosted their last senior AFL games in Round 22 – their absence would be replaced the following year by Colonial Stadium.

References
 1999 Season – AFL Tables

 
AFL season
Australian Football League seasons