매리포성은 645년(선덕왕 14)에 백제와 신라의 교전이 벌어졌던 곳이다. 김유신의 출정으로 신라가 승리하였다. 그 위치는 낙동강 남안의 경남 함안군 칠서면 용성리 일대로 비정된다. 매리포성은 낙동강 수로의 주요 포구였던 매리포를 감시 통제하기 위한 산성이었을 것으로 추정된다.
『삼국사기』 열전 김유신 상에 따르면, 645년(선덕왕 14) 정월에 백제의 대군이 신라의 매리포성을 공격해 왔다. 이에 선덕여왕은 김유신을 다시 상주(上州) 장군으로 임명하여 이를 막게 하니, 김유신은 명령을 받자마자 말에 올라 백제군 2천 명을 목 베는 승리를 이끌어냈다.
매리포성의 위치 비정은 그 단서가 남아 있지 않아 쉽지 않다. 다만 『신증동국여지승람(新增東國輿地勝覽)』과 「대동여지도(大東輿地圖)」에 매리포와 관련이 있을 법한 ‘매포(買浦)’가 전해진다. 곧 『신증동국여지승람』 영산현(靈山縣) 산천조에 ‘매포진(買浦津)이 현의 남쪽 23리에 있다’고 되어 있으며, 「대동여지도」에 그에 해당하는 창녕군 영산면의 낙동강 남안(南岸)에 매포가 남아 있다. 지금의 행정구역으로는 경남 함안군 칠서면 용성리에 해당한다.
644년(선덕왕 13) 9월에 김유신은 상장군으로서 군사를 거느리고 백제의 가혜성(加兮城 : 경북 고령군 우곡면)·성열성(省熱城)·동화성(同火城 : 경북 구미시 인의동) 등 7성을 깨뜨리고 가혜진(加兮津)을 개통하였다. 가혜진은 낙동강 중류인 경북 고령군 개진면 개포리에 위치한 개산진(開山津)으로 비정된다.
644~645년의 신라와 백제 사이 교전지역을 분석해 보면, 낙동강 수로를 둘러싸고 두 나라 간 치열한 각축전이 전개되었음을 알 수 있다. 따라서 김유신이 주도한 매리포성의 승리 역시 이러한 관점에서 의미를 부여할 수 있다.