Theo truyền thuyết thì Hà Nội có cội nguồn từ một làng ven sông Tô với trung tâm là núi Nùng. Làng ấy tên là Long Đỗ. Đến thế kỷ thứ IV, Hà Nội bước vào chính sử với tư cách là lỵ sở của huyện lỵ Tống Bình. Lỵ sở có nghĩa là nơi tập trung dân cư đông đúc. Tới giữa thế kỷ thứ VI, Lý Nam Đế dựng một tòa thành tre, gỗ ở bờ sông Tô, là tòa thành đầu tiên dựng ở đất nội thành Hà Nội được ghi chép trong sử sách. Từ đầu thế kỷ thế kỷ thứ VII, dưới thời Đường, nơi đây trở nên lỵ sở của An Nam đô hộ phủ. Nhiều thành lũy nối nhau được xây dựng trên đất này:
Năm 621 có Tử Thành (thành nhỏ) trên bờ sông Tô.
Năm 767 xây La Thành (thành bao bọc) bao lấy Tử Thành.
Năm 808 La Thành được đắp to hơn, gọi là Đại La Thành.
Năm 866 làm lại Đại La Thành.
Quy mô các tòa thành ngày càng được mở rộng, có nghĩa là dãi đất này ngày càng phát triển, quan trọng hơn lên, bên cạnh thành hẳn đã có phố phường, chợ búa nhộn nhịp. Sang đầu thế kỷ XI, thành Đại La trở nên một chốn đô hội có sức hút lớn, lớn đến mức hút luôn cả kinh đô về phía mình.
Thực ra từ năm 967, Đinh Tiên Hoàng thống nhất đất nước, lập ra nước Đại Cồ Việt và chọn vùng Hoa Lư là một nơi núi non hiểm trở làm nơi đóng đô với dụng ý phòng thủ, xây dựng chính quyền còn non trẻ. Nhưng đến 41 năm sau, cùng với thành quả bảo vệ và củng cố độc lập dân tộc trên cơ sở thống nhất đất nước, các triều đại Đinh và Tiền Lê đã đưa đất nước bước vào một thời kỳ mới, xây dựng quốc gia trên quy mô lớn, phục hưng toàn diện cả dân tộc. Năm 1010 sau 9 tháng lên ngôi Lý Công Uẩn quyết định phải dời đô, phải xây dựng một đô thị mới rộng lớn hơn Hoa Lư hiện thời. Ông đã chọn thành Đại La với lý do nơi đây có địa thế rồng cuộn hổ ngồi, đất đai bằng phẳng, cao mà thoáng, lại tiện hướng nhìn sông dựa núi, có thể phát triển mọi mặt kinh tế, chính trị đến muôn đời sau.
Theo các nhà nghiên cứu địa lý, lịch sử, chính trị, kinh tế thì quả thực vua Lý Công Uẩn đã có con mắt tinh đời trong việc chọn kinh đô mà mãi đến ngàn năm sau nơi đây vẫn là nơi đô hội, là trung tâm phát triển của cả nước.