จังหวัดลำพูน หรือ นครหริภุญชัย เป็นเมืองเก่าแก่มาตั้งแต่พุทธศตวรรษที่ 13 มีการวางผังเมืองตามคติโบราณ โดยมีปราการอันได้แก่คูเมืองและกำแพงเมืองเป็นแนวป้องกันการบุกรุกของข้าศึกศัตรูสัณฐานของตัวเมือเหมือนกับรูปเปลือกหอย

กำแพงเมืองและคูเมืองปัจจุบันนี้สร้างขึ้นใหม่ในสมัยพระเมืองแก้ว ซึ่งได้บูรณะปฏิสังขรณ์เมืองลำพูนขึ้นใหม่ ทรงมีพระราชดำริว่า ตัวเมืองลำพูนเดิมกว้างขวางมากหากมีข้าศึกเข้าโจมตี ยากที่จะป้องกันไว้ได้จึงให้รื้อกำแพงเมืองเก่าออก แล้วให้ก่อกำแพงขุดคูเมืองขึ้นใหม่พร้อมทั้งตั้งเสาหลักเมือง เมื่อวันพฤหัสบดีขึ้น 5 ค่ำ เดือนยี่ จุลศักราช 878(พ.ศ. 2095)

กำแพงก่อด้วยอิฐคือปูน มีแนวของคูเมืองขนานไปกับกำแพงเมืองเป็นแนวยาวเกือบตลอดทั้ง 4ด้าน ยกเว้นด้านทิศตะวันออกที่มีแม่น้ำกวงไหลผ่านเป็นปราการทางธรรมชาติ ตัวกำแพงแบ่งออกเป็น 2 ส่วน คือส่วนฐานสูงประมาณ 3 เมตร ก่อด้วยศิลาแลงด้านบนก่ออิฐทำเป็นรูปใบเสมา มีประตูเมืองโดยรอบ 6 ประตู ทางทิศตะวันออกซึ่งเป็นด้านหน้าเมืองมี 3 ประตู คือ ประตูท่าขามหรือท่าข้าม ประตูท่าสิงห์หรือประตูขัว และประตูท่านาง ทางทิศเหนือมี 1 ประตู ชื่อประตูช้างสี ทางทิศใต้มี 1 ประตู ชื่อประตูลี้ ทางทิศตะวันตกมี 1 ประตู ชื่อประตูมหาวัน