경기도 과천시 막계동에 있는 서울특별시립 공원으로, 그 이전까지 도심에 있었던 유원지 창경원을 대체할 목적으로 조성되었다.
명칭과 달리 서울특별시가 아닌 경기도 과천시에 있어서 의아해하는 경우가 많은데, 공원 자체의 관할 및 운영을 서울특별시청에서 맡기 때문이다. 즉, 부지는 과천시에 있지만, 서울특별시의 월경지 성격을 띠었다고 볼 수도 있다. 비슷한 사례로 경기도 고양시 덕양구에 있는 추모공원 '서울시립승화원'이 있다. 이름과 실제가 다른 것/지명 항목 참조. 1984년 5월에 개장하였다.
이 곳의 역사는 1909년까지 거슬러 올라간다. 일제에 의해 창경궁에 들여와서 사육했던 동식물이 그 시초로, 이후 동물원과 식물원을 창경궁 내에 만들면서 공원으로 조성되었고, 이름도 창경원으로 바뀌었다. 궁궐이었던 창경궁은 크게 훼손되었다. 그러나 창경원 시설이 낡고 부지가 좁은데다 창경궁을 복원해야 된다는 여론이 높아지자, 창경원을 철거한 뒤 그 자리에 궁을 복원하고, 창경원 시설 중 동물원과 식물원은 과천시에 새 공원을 만들어 이전하는 계획이 세워졌다. 일제강점기에 들어왔던 동물들이 그대로 지금까지 이어져 온 것은 아니다. 해방 직전과 한국전쟁 때 동물들이 수난을 당했었고 그 뒤에 새로 들어온 동물들이다. [를 참고.]
새로운 공원 부지로 낙점된 현재의 과천시 막계동 땅은, 원래 1970년대에 박정희 전 대통령이 김재춘으로 하여금 미사일 등 신무기 연구개발 기지로 개발하기 위해 구입하도록 한 땅이었다. 그러나 신무기 기지 입지가 대전으로 바뀌면서 이 땅을 구입하기 위해 은행으로부터 막대한 자금을 대출받았던 김재춘은 경제적인 어려움을 겪었고, 이를 구제해주기 위해 이 땅을 서울특별시가 사들여 대공원으로 개발한 것이다.
1978년에 계획이 수립되었고, 1979년부터 공사가 시작되었다. 이후 1984년 5월에 동물원이 개장했고, 1985년 5월에는 식물원도 개장했다. 이곳의 동식물들은 창경원에서 이전 해 온 것도 있지만, 새로 도입된 것도 많았다. 창경원 시절에 비해 전시 공간이 크게 확장됐기 때문. 착공 당시에는 '남 ( 南 ) 서울대공원'이라는 이름이 붙었으나 완공 후 지금의 '서울대공원'으로 확정되었다. 2009년 동물원 개장 100주년 창경원 시절부터 따진 것이다.을 맞아 서울대공원 동물원이 '서울동물원'이라는 이름으로 변경되었다.
덕수궁 석조전에 있었던 국립현대미술관이 1986년에 지금의 서울대공원 자리로 이전함에 따라 국립현대미술관을 끼고 있는 곳이 되었다. 영화 미술관 옆 동물원의 제목이 여기서 유래했다. 그러나 국립현대미술관은 말 그대로 국립 시설이기 때문에 운영 권한은 서울특별시가 아닌 문화체육관광부에서 직접 권한을 갖고 있다.
또한 같은 때에 소규모 수영장, 체육시설 등이 완공되었다. 복돌이동산 예전 서울대공원의 다람쥐 모양 마스코트 이름이 복돌이이다.이라는 이름이었고, 놀이기구가 있었다. 과천시에서 학교를 다닌 국초딩 세대는 초등학교 저학년이나 유치원 시절에 이 곳에서 소풍을 즐긴 기억이 있을 것이다. 물론 그때 서울랜드는 있었다. 서울랜드가 개장하기 전에는 서울대공원에서 놀이기구를 탈 수 있는 유일한 장소였다. 그러나 서울랜드가 개장하면서 놀이기구는 시망했고 결국 2000년 들어서 놀이기구는 모두 철거하고 수영장만 운영 중이다. 그 후 수영장마저 없어지고 '원숭이 학교'가 들어왔다가 2015년 현재는 이마저도 운영 종료. 그 후 복돌이 동산 부지에 야구장이 들어섰다.
1988년에 서울랜드가 개장되면서 서울랜드를 끼고 있는 대공원으로도 알려지게 되었다. 서울랜드는 ( 주 ) 서울랜드라는 회사가 한덕개발에서 2014년 사명변경. 한일시멘트그룹의 계열사이다. 서울시 부지에 놀이기구를 기부채납하는 대신 운영권을 갖는 방식으로 건설한 민영 놀이공원으로 서울시에서는 직접 권한을 갖지 않으나, 2014년 7월 운영권이 만료될 예정이었다. 일정기간 운영권을 준 뒤 기부채납하는 방식으로 공유지에 건설한 최초의 놀이공원이다.