The national championship was divided into two half-year tournaments, the Torneo Apertura and the Torneo Clausura. Each was played on a home-and-away round-robin basis. The winners of each would play for the national title in a playoff. If the same club had won both tournaments, it would have won the national championship automatically.
Following-season Copa Libertadores berths went to the champion, as well as to the best other team in the aggregate table. The bottom team on the aggregate table was relegated, while the eleventh place held a promotion play-off against the winner of the Segunda División (Second Division).
Updated to match(es) played on July 1999. Source: https://www.rsssf.org/tablesp/peru99.html Rules for classification: 1) points; 2) goal difference; 3) number of goals scored.
Updated to match(es) played on December 1999. Source: https://www.rsssf.org/tablesp/peru99.html Rules for classification: 1) points; 2) goal difference; 3) number of goals scored. Notes:
^Cienciano lost 3 points in Round 13 win over Sporting Cristal for fielding an ineligible player.
Updated to match(es) played on December 1999. Source: [citation needed] Rules for classification: 1) points; 2) goal difference; 3) number of goals scored. (O) Play-off winners