У дорослому футболі дебютував 1990 року виступами за «Даугаву» (Рига), в якій провів два сезони, взявши участь у 26 матчах чемпіонату.
Своєю грою привернув увагу представників тренерського штабу клубу «Сконто», до складу якого приєднався 1992 року. Відіграв за ризький клуб наступні п'ять сезонів своєї ігрової кар'єри. Більшість часу, проведеного у складі «Сконто», був основним гравцем команди. У складі «Сконто» був одним з головних бомбардирів команди, маючи середню результативність на рівні 0,43 голу за гру першості. Протягом сезону 1996-97 виступав за австрійську «Аустрію» (Відень), після чого повернувся назад до «Сконто», де провів ще три сезони.
1999 року уклав контракт з англійським клубом «Бристоль Роверс», у складі якого провів наступні чотири роки своєї кар'єри гравця. «Пірати» виступали у другій за рівнем лізі Англії, а 2001 навіть вилетіли у третю. Граючи у складі «Бристоль Роверс» також здебільшого виходив на поле в основному складі команди.
Протягом сезону 2003–2004 років захищав кольори австрійської «Адміри-Ваккер», після чого півтора сезони виступав за російський «Рубін».
На початку 2006 року повернувся у «Сконто», в якому виступав протягом трьох сезонів, після чого недовго грав за «Олімпс» та «Вентспілс».
Завершив професійну ігрову кар'єру у «Сконто», у яке повернувся на початку 2010 року і провів ще один сезон.
Після того як 1999 року виступи за збірну припинив капітан Владімірс Бабічевс, Астаф'євс був обраний новим капітаном команди. 31 березня2004 року став першим футболістом в історії латвійського гравця, який зіграв 100 матчів у складі збірної.
Протягом кар'єри у національній команді, яка тривала 19 років, провів у формі головної команди країни 167 матчів, забивши 16 голів, ставши рекордсменом Європи за кількістю проведених матчів за збірну..