1899년 6월에 공포된 「상공학교관제(商工學校官制)」에 따라 상공학교로 설립되었으며, 예과와 본과를 두고 농상공업을 가르쳤다.
1904년에 농상공학교로 개편하여 농과·공과·상과로 나누고 수업연한은 예과 1년, 본과 3년으로 하였다. 입학자격은 예과의 경우 만 17세 이상 25세 이하인 자로서 국문과 한문의 입학시험에 합격한 자로 하였고, 본과는 예과의 수료자와 적합한 학력을 가진 자로서 소정의 시험에 합격한 자로 규정하였다.
교과목은 예과의 경우 한국사·한국지리·만국역사·만국지리·화학·물리학·경제학·산술·도화·외국어를 과하였으며, 본과의 교과목은 임시로 의정(議定)한다고 함으로써 전문성에 입각한 융통성을 두었다.
교사(校舍)는 서울의 중구 명동에 소재하였고, 농과만 따로 훈동에 있었으나, 나중에 합하여 종로구 수송동으로 이전하였다.
원래 농상공학교는 지방에도 설립할 수 있도록 규정하였으나, 실업교육에 관한 이해가 부족한 당시였으므로 지방은 물론 서울에도 더 이상 설치되지 않았다. 이에 따라 당시의 유일한 실업학교였으나, 학생수는 한 과에 10∼30명 정도에 불과하였다.
그 뒤 농과는 수원농림학교(水原農林學校), 공과는 경성공업전습소(京城工業專習所), 상과는 경성상업학교(京城商業學校)로 개편되었다가 1915년에 공포된 「전문학교규칙」에 따라 각각 경성공업전문학교(1916년)·수원농림전문학교(1918년)·경성고등상업학교(1922년)로 승격되었다.