Before (end of 1998) (32 seats, Elections Centre)
SNP 18 · Liberal Democrats 6 · Labour 5 · Conservative 2 · Other 1
After (end of 1999) (41 seats, Elections Centre)
SNP 16 · Conservative 11 · Liberal Democrats 6 · Labour 6 · Other 2
Ward results
Abernethy & Glenfarg1 seat
| K. Baird | Conservative | 710 ✓ |
| J. Law Ms.* | SNP | 563 |
| C. Freeman | Liberal Democrats | 248 |
Abernethy and Glenfarg1 seat
| K. Baird | Conservative | 710 |
| J. Law | SNP | 563 |
| C. Freeman | Liberal Democrats | 248 |
Alyth and Old Rattray1 seat · turnout 69.9%
| I. Miller | SNP | 864 |
| D. Melloy | Conservative | 858 |
| G. O’ Donnell | Labour | 147 |
| C. Young | Conservative | 544 ✓ |
| Robertson K.* | SNP | 543 |
| J. Malone | Labour | 354 |
| G. Syme | Liberal Democrats | 150 |
| Young C. | Conservative | 544 ✓ |
| K. Robertson | SNP | 543 |
| J. Malone | Labour | 354 |
| G. Syme | Liberal Democrats | 150 |
Auchterarder Mid Earn1 seat
| J Mair | Conservative | 732 ✓ |
| P Brittain | SNP | 453 |
| S Phillips | Labour | 248 |
| K Raffan | Liberal Democrats | 148 |
| M Halsey | Independent | 105 |
Auchterarder Mid Earn1 seat
| J. Mair | Conservative | 732 ✓ |
| P. Brittain | SNP | 453 |
| S. Phillips | Labour | 248 |
| K. Raffan | Liberal Democrats | 148 |
| M. Halsey | Independent | 105 |
Barnhill & West Carse1 seat
| H. Stewart | Conservative | 870 ✓ |
| G. Mure | SNP | 500 |
| C. Whittingham | Liberal Democrats | 374 |
Barnhill and West Carse1 seat
| Heather Stewart | Conservative | 870 |
| G Mure | SNP | 500 |
| Catherine Whittingham | Liberal Democrats | 374 |
Blairgowrie1 seat
| R. Ellis | SNP | 810 ✓ |
| R. Last | Conservative | 379 |
| R. Blackmore | Labour | 147 |
| R. Ritchie | Liberal Democrats | 130 |
Breadalbane1 seat
| Kenneth Lyall | SNP | 645 ✓ |
| Walter Scott | Independent | 473 |
| D Birkett | Conservative | 313 |
| F Aitken | Labour | 172 |
| C Mellor | Liberal Democrats | 72 |
Central Carse1 seat · turnout 64.7%
| J. Hulbert | SNP | 738 |
| J. Roberts | Conservative | 646 |
| M. Reay | Liberal Democrats | 218 |
Comrie1 seat
| C. Crabbie | Conservative | 912 ✓ |
| J. Stewart | SNP | 453 |
| P. Carruthers | Liberal Democrats | 257 |
Comrie1 seat
| Crabbie C.* | Conservative | 912 ✓ |
| J. Stewart | SNP | 453 |
| P. Carruthers | Liberal Democrats | 257 |
Coupar Angus and Meigle1 seat · turnout 61.3%
| A. Grant | SNP | 805 |
| O. Last | Conservative | 493 |
| L. Thomas | Labour | 201 |
| G. Duff | Independent | 164 |
Craigie1 seat
| Lorraine Caddell | Liberal Democrats | 634 ✓ |
| Michael Archibald | Conservative | 482 |
| Sarah Nicholson | SNP | 435 |
| J McCann | Labour | 415 |
Crieff North1 seat
| Helen McDonald | Conservative | 870 ✓ |
| R Cartwright | SNP | 553 |
| S Hoskings | Liberal Democrats | 267 |
Crieff North1 seat
| H. McDonald Ms.* | Conservative | 870 ✓ |
| R. Cartwright | SNP | 553 |
| S. Hoskings | Liberal Democrats | 267 |
Crieff South1 seat
| Hunter I.* | SNP | 693 ✓ |
| K. Cowan | Conservative | 521 |
| G. McKell | Liberal Democrats | 269 |
Crieff South1 seat
| Isobel Hunter | SNP | 693 ✓ |
| K Cowan | Conservative | 521 |
| G McKell | Liberal Democrats | 269 |
Dunsinnan1 seat
| Judith Lloyd | Independent | 587 ✓ |
| John Main | Conservative | 547 |
| F MacKenzie | SNP | 326 |
| Fiona O'Donnell | Labour | 162 |
| M Ritchie | Liberal Democrats | 55 |
Dunsinnan1 seat
| Lloyd J.* | Independent | 587 ✓ |
| J. Main | Conservative | 547 |
| F. MacKenzie | SNP | 326 |
| F. O’ Donnell | Labour | 162 |
| M. Ritchie | Liberal Democrats | 55 |
East Carse1 seat
| Mulheron P.* | SNP | 871 ✓ |
| S. Blackwood | Conservative | 436 |
| D. Couper | Labour | 260 |
| G. Hayton | Liberal Democrats | 132 |
East Carse1 seat
| P. Mulheron | SNP | 871 ✓ |
| S. Blackwood | Conservative | 436 |
| D. Couper | Labour | 260 |
| G. Hayton | Liberal Democrats | 132 |
Kinclaven & Clunie1 seat
| A. Telfer | SNP | 516 ✓ |
| T. Monteith | Conservative | 507 |
| J. Robertson | Liberal Democrats | 356 |
| W. Manton | Labour | 155 |
Kinclaven and Clunie1 seat
| Alan Telfer | SNP | 516 |
| T Monteith | Conservative | 507 |
| J Robertson | Liberal Democrats | 356 |
| W Manton | Labour | 155 |
Kinross - Shire1 seat
| M. Barnacle | Liberal Democrats | 753 ✓ |
| C. Garnett | SNP | 490 |
| M. Parkin | Conservative | 417 |
| M. Scobbie | Labour | 262 |
Kinross Town1 seat
| R. Crawford | SNP | 1,092 ✓ |
| R. Scott | Conservative | 221 |
| D. Milliken | Labour | 215 |
| L. Freeman | Liberal Democrats | 170 |
Kinross-shire1 seat
| M. Barnacle | Liberal Democrats | 753 |
| C. Garnett | SNP | 490 |
| M. Parkin | Conservative | 417 |
| M. Scobbie | Labour | 262 |
| Robertson W.* | Liberal Democrats | 1,077 ✓ |
| G. Frier | SNP | 481 |
| M. Twaddle | Labour | 223 |
| J. Keen | Conservative | 222 |
| William Robertson | Liberal Democrats | 1,077 |
| G Frier | SNP | 481 |
| Michael Twaddle | Labour | 223 |
| J Keen | Conservative | 222 |
Moncreiffe & Friarton1 seat
| M. Lennie Ms.* | Labour | 671 ✓ |
| A. Cook | SNP | 474 |
| H. Johnson | Conservative | 280 |
| J. Rankin | Liberal Democrats | 149 |
Moncreiffe and Friarton1 seat
| Margo Lennie | Labour | 671 |
| Allan Cook | SNP | 474 |
| H Johnson | Conservative | 280 |
| J Rankin | Liberal Democrats | 149 |
Muirton1 seat · turnout 45.5%
| G. Hunter | SNP | 392 |
| T. Smith | Labour | 347 |
| R. Bywalec | Conservative | 217 |
| P. Black | Independent | 97 |
North Inch1 seat
| J. McEwen | Labour | 423 ✓ |
| C. Dolan | SNP | 362 |
| J. McNicol | Conservative | 270 |
| C. MacKenzie | Liberal Democrats | 119 |
North Letham1 seat
| John Flynn | Labour | 818 ✓ |
| C Smith | SNP | 458 |
| Pamela Roberts | Conservative | 108 |
| A Wilson | Liberal Democrats | 57 |
North Muirton1 seat
| M. O’ Malley | Labour | 879 ✓ |
| S. Coutts | SNP | 498 |
| C. Hastings | Conservative | 121 |
| A. Syme | Liberal Democrats | 48 |
Oakbank1 seat · turnout 74.3%
| W. Wilson | Liberal Democrats | 1,272 |
| D. McBean | Conservative | 206 |
| E. Sweeney | SNP | 168 |
| F. Byrne | Labour | 136 |
Pictstonhill1 seat
| James Doig | Independent | 578 ✓ |
| Ann Rees | Conservative | 390 |
| S O’Malley | Labour | 374 |
| I McKenzie | SNP | 344 |
Pitlochry1 seat
| James Doig | Independent | 578 ✓ |
| Ann Rees | Conservative | 390 |
| S O’Malley | Labour | 374 |
| I McKenzie | SNP | 344 |
Rannoch & Atholl1 seat
| Culliven J.* | SNP | 444 ✓ |
| G. Rees | Conservative | 284 |
| M. Perry | Independent | 127 |
| A. Kenton | Liberal Democrats | 84 |
| A. MacCullum | Labour | 77 |
Rannoch and Atholl1 seat
| J. Culliven | SNP | 444 |
| G. Rees | Conservative | 284 |
| M. Perry | Independent | 127 |
| A. Kenton | Liberal Democrats | 84 |
| A. MacCullum | Labour | 77 |
Rattray and Glenshee1 seat · turnout 56.8%
| M. Cook | SNP | 828 |
| I. Shaw | Conservative | 479 |
| K. Barrett | Labour | 224 |
Rosemount1 seat
| S. Bushby | Conservative | 781 ✓ |
| E. Grant | SNP | 614 |
| J. Watkins | Labour | 201 |
| T. Robertson | Liberal Democrats | 115 |
Rosemount1 seat
| S. Bushby | Conservative | 781 ✓ |
| E. Grant | SNP | 614 |
| J. Watkins | Labour | 201 |
| T. Robertson | Liberal Democrats | 115 |
Ruthven Park1 seat
| C. Livingstone | Liberal Democrats | 555 ✓ |
| C. Bayne | Conservative | 394 |
| Helen Elizabeth Sinclair | Labour | 321 |
| C. Davidson | SNP | 310 |
Ruthven Park1 seat
| C. Livingstone | Liberal Democrats | 555 ✓ |
| C. Bayne | Conservative | 394 |
| H. Sinclair | Labour | 321 |
| C. Davidson | SNP | 310 |
Scone1 seat · turnout 64.8%
| H. Anderson | Conservative | 560 |
| C. Goodison | SNP | 535 |
| B. Goudie | Liberal Democrats | 390 |
| R. Cameron | Labour | 252 |
South Inch1 seat · turnout 50.2%
| J. Kelly | Labour | 521 |
| T. Karczewski | SNP | 429 |
| N. Billimoria | Conservative | 245 |
| D. Carruthers | Liberal Democrats | 103 |
South Letham1 seat
| C. Gillies | Labour | 703 ✓ |
| E. MacLachlan | SNP | 578 |
| R. Fraser | Conservative | 138 |
| J. Croal | Liberal Democrats | 67 |
Stathallan & Glendevon1 seat
| D. Dow | Conservative | 794 ✓ |
| D. Dow | Conservative | 794 ✓ |
| G. Malone | SNP | 598 |
| G. Malone | SNP | 598 |
| Ann Gourlay Gaunt | Liberal Democrats | 398 |
| A. Gaunt | Liberal Democrats | 398 |
Strathalmond1 seat
| R. Lumsden | SNP | 620 ✓ |
| J. Young | Conservative | 605 |
| A. Gilruth | Labour | 284 |
| D. Dewar | Liberal Democrats | 177 |
Strathalmond1 seat
| R. Lumsden | SNP | 620 ✓ |
| J. Young | Conservative | 605 |
| A. Gilruth | Labour | 284 |
| D. Dewar | Liberal Democrats | 177 |
Strathord & Logiealmond1 seat
| Scott R.* | Liberal Democrats | 923 ✓ |
| P. Hudson | Conservative | 445 |
| A. Robertson | SNP | 349 |
| M. Payne | Labour | 118 |
| R. Scott | Liberal Democrats | 923 |
| P. Hudson | Conservative | 445 |
| A. Robertson | SNP | 349 |
| M. Payne | Labour | 118 |
Strathtay & Dunkeld1 seat
| A. Barr | SNP | 610 ✓ |
| B. Vaughan | Conservative | 598 |
| P. Caffrey | Liberal Democrats | 338 |
| V. Cooke | Labour | 178 |
Strathtay and Dunkeld1 seat
| Alistair Barr | SNP | 610 |
| Barbara Vaughan | Conservative | 598 |
| P Caffrey | Liberal Democrats | 338 |
| Val Cooke | Labour | 178 |
Wellshill1 seat
| A Stewart | Conservative | 386 ✓ |
| D Morrison | SNP | 374 |
| J Pringle | Liberal Democrats | 373 |
| L Ferguson | Labour | 360 |
Wellshill1 seat
| A. Stewart | Conservative | 386 ✓ |
| D. Morrison | SNP | 374 |
| J. Pringle | Liberal Democrats | 373 |
| L. Ferguson | Labour | 360 |
