萬曆朝鮮之役 第一次衝突
兩軍從午後交戰6個小時至黃昏，明朝紀載日軍死亡超過8,000人，朝鮮史則載兩軍各死傷5、6百人，部分日史記載明軍參戰人數為20,000人，倭軍斬首明軍6,000人。满清编写者則说“诸营上军籍，死亡殆二万”云云，占了当时明軍入援朝鮮参战兵力的一半。都遠遠高於朝鮮史的記載，根據朝鮮宣祖實錄所記，明軍投入戰役人數當不超過5,000人，當日軍望見明軍步兵抵達後隨即撤退，可見明軍投入戰場兵力並不多。而朝鲜《宣祖实录》记载，此役之后，明军大势依然，應可確信二万之死亡云云系虚说。而且《神宗实录》中还记有“夫是役也大将仅以身免，倭何惧之有”，认为明军胜利。另外，日军阵亡了很多有名有姓的“武将”，但是日本战国史的武将比率很高，即使在川中岛阵亡八千人中也有四十多个“武将”。
戰後日軍並未追擊，反而退返王京，顯示日軍並未完全控制戰場，此役應該并非大胜。但是李如松經此役後，因親兵死傷甚重，加上明軍北兵與南兵之爭日烈，李如松以後就無意進取，先退開城，後又退往平壤。
之後日軍於3月約2萬兵力轉攻京城西北方的幸州山城，朝鮮城將權慄以少數兵力大敗日軍，日將石田三成、吉川廣家等負傷。3月，李如松改變策略，於4月初焚燒日軍於龍山的糧倉粟數十萬，逼使其撤退。5月18日，日軍因為缺糧，被逼由漢城（今首爾）撤退。5月四川參將劉綎率軍五千趕赴援朝，並被任命為副總兵。日軍撤退至釜山，此後陸戰皆集中在朝鮮南部四道，並以朝鮮勤王軍與倭軍的戰鬥為主。日軍於6月中旬又攻打朝鮮南部的晉州城，為第二次晉州城攻略戰，日軍加藤清正、黑田長政以部下飯田直景、庄林一心、後藤基次以龜甲車破壞城壁，大部日軍湧入晉州城而攻陷，城將金千鎰戰死。
明派遣大軍援朝後，兩國在進軍速度、戰力補充、情報、戰功等問題上多所爭執：朝鮮官員復土心切，一再催促明軍進兵，明軍將領多半言明糧食欠缺，天候不佳，同時因為戰亂情報不明，進兵有所疑慮。同時明軍因為將南兵留在平壤，在前線的反而多是北兵，北兵以騎兵為多，根據當時將領所言，明軍損失戰馬多達12000匹，造成騎兵戰力的嚴重匱乏。此外明軍也碰到逃兵問題，尤其以遼東兵最為嚴重，而南兵因為家鄉遙遠，反而不會脫逃，為了填補空缺，明將多向朝鮮要求勾軍來填補缺額。此外，明將也多次反映朝鮮提供的敵情不明，無法知道要用多少兵力才可以消滅入侵的日軍。宋應昌則是完全不相信朝鮮的官員，認為他們很容易洩漏軍機，往往軍情只要移咨朝鮮官員，他們一下朝後就會轉告親友，當時朝鮮的風俗也不以洩漏朝政為可恥，反而認為如果不說就是瞧不起親友，兩國官員為此多所齟齬。
平壤之役南兵先登城牆，但北兵多斬首級；李如松上報明廷時多表北兵殺敵之功，而少論南兵先登之功，造成南兵將領與北兵將領之間的隔閡。另一方面，明廷因有北兵斬殺朝鮮人冒功的傳言，特派欽差大臣來朝鮮查證。而碧蹄館戰後，留守平壤的明朝南兵間又傳出北兵作戰不力的風聲，並有人以此上報經略宋應昌。明朝南、北兵之間的矛盾乃越演越烈。
經略以文人而節制軍事，提督要求增兵増餉都需經過經略上呈；前此，提督李如松總以為經略宋應昌受南兵影響，故意壓文不發。另一方面，宋卻以為武人愛說大話，往往上呈不實，例如說在戰功上以少報多；又受朝廷和戰議論的影響，認為進軍應審慎籌畫。兩人公文往來莫衷一是，結果造成明軍高層在戰略意見上不統一，影響戰爭指揮：一開始是提督主戰而經略不許；後來，當碧蹄館戰後日軍後撤時，又變成經略主張急追，提督主張緩進。
依《宣祖實錄》的紀載，自從日軍登陸以後，朝鮮水軍隨即在全羅左道水軍節度使李舜臣率領下展開一連串的反擊：
6月5日（5月初6日）：閑山島，慶尚道右水使元均與全羅左水使會師有戰艦80艘，進到玉浦，遇敵船30餘艘，擊破26艘
6月6日（5月初7日）：再度會師，聽到國王西逃的消息，諸將放聲痛哭
6月8日（5月初9日）：艦隊解散，各回本鎮
6月27日（5月29日）：露梁會師，遇敵1艘，擊毀。又遇敵戰船12艘，悉數擊毀
6月30日（6月初2日）：唐浦，遇敵艦20艘，中衛將權俊撞破敵指揮艦，並射死敵將
7月2日（6月初4日）：唐浦，全羅道右水使李億祺領戰艦25艘會師
7月3日（6月初5日）：出外洋，後移泊固城唐項浦中洋，派三艘船偵查，一出海口即遇敵艦26艘，會戰，焚敵艦100餘艘，斬首210餘級，溺水無算
7月4日（6月初6日）：追敵外洋，焚一船
7月7日（6月初9日）：罷兵歸鎮
8月1日（7月初6日）：舜臣與億祺會師露梁，元均修理破船7艘先來，敵艦70餘艘自永登浦移泊見乃梁
8月3日（7月初8日）：舟船至中洋，敵退我追，敵艦70餘艘列陣內洋不出，以佯退引出至閑山洋前，以鶴翼陣，先破3艘，焚63艘，400餘日軍棄舟上陸潛逃
8月5日（7月初10日）：安骨浦，敵40艘，列泊洋中，鱗次列陣不出，我艦反覆衝殺，盡毀敵艦，三陣斬首250餘級，溺死無算
在明軍馳援的同時，朝鮮水師在海戰則佔據了主動權。1592年6月3日（5月初4日），當時的朝鮮全羅左道水軍節度使李舜臣，統率75艘艦船駛出全羅南道麗水港，準備對日軍發動進攻。日軍藤堂高虎部率領50艘木製戰船。6月6日（5月初7日），朝鮮水師偷襲正登岸的日軍舰队，日軍被殺個措手不及。一輪激戰過後，日軍損失慘重，被朝鮮水師消滅了十几艘戰船，有數只艦船試圖逃跑也被歼灭。李舜臣繼而在合浦、赤珍浦海面再殲滅餘下的日軍。6月8日（5月初9日），這場海戰最终结束。從此朝鮮水師掌握了制海權。全場海戰朝鮮水師共殲滅日艦26艘，日軍傷亡甚众，相對而言，朝鮮水師只是傷亡了很少的兵力，艦船更是絲毫無損。
玉浦海戰是壬辰戰爭爆發以來，朝鮮王朝軍隊的首場大捷，使得日軍輸送兵力和糧食輜重至朝鮮半島從此變得困難，因為日軍在此戰後已喪失大半制海權。
1592年6月25日（5月27日），日本水師不甘失敗，轉而向慶尚道的泗川進攻。李舜臣得知消息後，立即於6月27日（5月29日）率船隊23艘出發，迅速駛至泗川海灣外面。當時海灣內共有12艘日本樓船，李舜臣假裝撤退引誘日軍出動，利用潮漲反擊，全殲日艦。
6月30日（6月初2日），李舜臣統領的朝鮮水師船隊主動出擊，進攻在唐浦港內停泊的21艘日艦，日艦被朝鮮水師兩面包抄，最後被全殲。
7月2日（6月初4日），與全羅右水使李億祺會師，並於7月3日（6月初5日）清晨齊其一起率領51艘戰船，向固城唐項浦的海灣內的26艘日艦進攻，並從兩面對其包抄圍攻。結果日艦除了一艘被故意放走外，其餘全部被殲滅。當晚，該艘故意放走的日艦將岸上日軍接載上船，並欲於7月4日（6月初6日）凌晨逃走，結果被殲滅。
7月5日（6月初7日），朝鮮水師再度出擊，向栗浦的7艘日艦進攻，日軍不敢迎戰，掉頭便跑，但結果仍被李舜臣全殲。
為了與朝鮮水師進行決戰，日本水師在巨濟島一帶集結，準備兵分三路向朝鮮水師發動進攻。而李舜臣則將其全羅道的艦隊和慶尚道的部分艦隊組成聯合艦隊，準備迎戰。8月1日（7月初6日），李舜臣進兵出唐浦附近水域，並於8月2日（7月初7日）清晨，將集結於巨濟島的日本水師引至閒山島附近水域決戰。李舜臣選擇在此地決戰是因為這裡有著較為寬闊的深水環境，易於設置埋伏，可以向日本艦隊進行包圍殲滅。
在決戰開始不久後，朝鮮水師的戰船即將日軍包抄起來，而朝鮮水師的船則向日軍艦隊直撞過去，很快便撞翻了日軍艦隊前列的幾艘大船，而其餘朝鮮戰船也奮勇殺敵，與敵作殊死戰，結果日軍的61艘戰艦被全殲。
經此一役，日本水師完全喪失制海權，無法運送軍糧，日本陸軍因此無法再行侵略，結果豐臣秀吉只有與明朝講和，改令日軍於朝鮮南端建築倭城以作防備和儲糧之用。而李舜臣則被封為二品正憲大夫、三道水師統制使。
1592年10月4日（9月22日），李舜臣與李億祺、元均等欲率水師奇襲釜山城，切斷日軍聯結對馬及九州的補給線。然而日本軍早已得知消息做好準備，閉門不出，從城中槍擊重創朝鮮軍。朝鮮將領鄭運中彈身亡，險些被俘虜的李舜臣逃向加德島。連勝皆捷的朝鮮水師損失慘重，此役戰果僅止於燒掉釜山城下400餘艘空船。李舜臣不再輕易言戰，轉為攻擊沒有戰船護衛的運輸船，降低日軍補給能力。