旅順口攻撃
日本軍の先制行動
1904年（明治37年）2月4日、御前会議で開戦が決定されて陸海軍に対して大命が下り、6日からの作戦発動が命じられた。5日17時に連合艦隊司令長官東郷平八郎は出動命令を受け、6日1時に佐世保に集結していた艦隊の幹部を三笠に集めて打ち合わせを行った。9時に出撃、7日には朝鮮半島北西岸の小青島付近に進出、また陸軍第2師団の第一陣2200人の一部を乗せた運送船3隻の護衛と陸軍の上陸予定地の仁川を抑えるため、第二艦隊第四戦隊（浪速、高千穂、新高、明石）を分派した。
1904年（明治37年）2月6日の朝、連合艦隊は佐世保軍港より出撃、第一戦隊（三笠、朝日、八島、敷島、初瀬、通報艦龍田）は7日に朝鮮半島南岸の九針岩付近でロシア貨物船「ロシア号」を拿捕した。先行してロシア商船「アルグン号」を拿捕した第二戦隊（出雲、吾妻、八雲、常磐、磐手、通報艦千早）と合流し、遅れて第三、第四戦隊、第一・二・四・五駆逐隊も旅順沖へ集合した。
旅順港の特色
旅順港は細い水路で結ばれた内港と外港から成る地形だった。旅順港はかねてよりロシアが待望した極東の不凍港であった。ただし、浅水港であり浚渫が不足していたため、喫水の深い戦艦などを内港に停泊させた場合に干潮による着底で艦底を傷めるおそれがあるほか、潮位によって出港不能となった。逆に、浅水であることを利用して、水線下の水雷被害を干潮時に修理することができた。そのため、大型艦船は当初は水深の深い外港に停泊していたが、攻撃が始まると旅順艦隊の主力は内港へ引きこもることが多くなった。また、外港と内港を繋ぐ湾口が狭く浅いことから、湾口に船を自沈させる閉塞作戦が実施されることとなった。
第二次攻撃
日本海軍は第二次攻撃として再度の水雷夜襲を計画した。2月11日17時に第四・五駆逐隊が牙山湾を出港し、第三戦隊も続行したが、12日の明け方から雪を伴った強風が吹き荒れて、進撃する艦、避難する艦、引き返す艦など艦隊は分散してしまった。2月14日の未明に旅順口へ到達した第四駆逐隊（司令：長井群吉。速鳥、朝霧、春雨、なお村雨は分離して不在）は港外を警戒するロシア駆逐艦3隻と北方に停泊する1艦を発見し、停止艦に対して魚雷攻撃を加えた。攻撃に気付いた陸上砲台からの攻撃を受けたが命中はなかった。荒天により艦隊行動が乱れたこともあり、予定していた港内を狙った間接射撃は実施せず、第二次攻撃は僅か駆逐艦3隻による襲撃になり、戦果も不明であった。
この間に2月16日から27日まで行われた第12師団の仁川上陸が成功し、以後漢城は日本側が確保した。また、前年の交渉では頓挫した日韓議定書が13日からの交渉で23日に締結されるなど韓国の政治情勢は日本有利に導かれた。
第三次攻撃（第一回旅順口閉塞作戦）
2月18日、東郷は第三次行動となる旅順口閉塞と港内間接射撃の作戦発動を命令した。23日23時50分、警戒および襲撃を任務とする第五駆逐隊（司令：真野巌太郎中佐。陽炎、不知火、叢雲、夕霧）と閉塞船団は旅順港近くの老鉄山下に進出した。24日0時30分より月が没すると黄金山・城頭山・白銀山のロシア砲台から探照灯による照射が始まった。第五駆逐隊は探照灯を避けながら老鉄山東岸に沿って徐々に進んだがついに発見された。1時30分に探照灯の消灯に乗じて偵察を行ったところ、駆逐艦2隻と艦種不明の1隻を発見し、これに魚雷攻撃を行った。
襲撃の後、水雷艇を用いた航路偵察が行われたが、探照灯により発見され砲撃を受けた。陸上砲台の砲撃停止と航路が確認されたため、老鉄山沖に待機していた5隻の閉塞船団は4時15分より天津丸、報国丸、仁川丸、武揚丸、武州丸の順で突入を開始した。旅順口を目指す閉塞船団は探照灯に捉えられ猛烈な砲撃を受け、閉塞は不十分なものとなった。
水雷艇隊は危険を冒して突入隊の収容を行った。天津丸・報国丸・武揚丸の乗員は第十四艇隊により収容されたが、第九艇隊（燕欠）は攻撃を行ったため仁川丸・武州丸の乗員収容が行えなかった。24日中に仁川丸・武州丸の乗員が収容できなかったため、更に東郷長官は25日に千早・龍田を旅順口へ派遣して捜索を続けたが発見できなかった。乗員達は砲火を避け隠れながら退避を行い、両船の乗員は偶然遭遇して合流した後、ジャンク船等を使って清国の登州を経由して帰還を果たした。
また、閉塞に先立って攻撃を行った第五駆逐隊は一度退避していたが、砲声を聞いたため閉塞作戦を援護するために引き返し、あえて砲台に接近して探照灯を灯して牽制したが攻撃を吸収することができず、6時30分に砲撃が途絶えたため湾外へ脱出した。
第四駆逐隊は第二戦隊の前衛として7時過ぎに老鉄山沖に到達し、旅順口に接近すると港内にロシア駆逐艦3隻を発見したため砲撃を加えた。ロシア駆逐艦および陸上砲台も応射したが港外への出撃がないため7時20分に離脱した。
閉塞作戦後も旅順港外をロシア巡洋艦バヤーン、ノヴィークのほか駆逐艦5隻が徘徊しており、日本艦隊を攻撃したり、閉塞船に砲撃を加えるなどした。24日12時に東郷長官はロシア巡洋艦が入港困難である可能性があることから、夜半より第四駆逐隊による魚雷攻撃を命令した。25日0時に第四駆逐隊は老鉄山沖に進出、1時30分より第二小隊の村雨・春雨が旅順口に進むと、2時ごろロシア陸上砲台や哨戒艦は探照灯で照らされた沈没閉塞船を誤射していた。村雨は目標を認めて3時3分に魚雷を発射した。春雨も同じく3時8分に魚雷を発射したが退避中に砲撃を受けた。村雨は第二次攻撃のために引き返し、3時10分に座礁しているとみられるレトヴィザンに向けて魚雷を発射した。第一小隊の速鳥と朝霧は25日2時30分に襲撃に入り、50分よりロシア駆逐艦数隻に向けて魚雷攻撃を行い、反転後にロシア艦と砲撃を交えた。さらに両艦は回頭して第二次魚雷攻撃を行った。第五駆逐隊は大連湾にて目標を探したが発見できなかった。
続いて25日の朝より港内間接射撃のため第一・二戦隊が旅順口に進出すると、饅頭山沖に航行するロシア巡洋艦バヤーン、アスコリド、ノヴィークの3隻と遭遇したため、11時31分にこれに砲撃を加えつつ陸上砲台も目標として射撃した。ロシア艦は命中弾を受けて港内へ退避したため港外から間接射撃を行った。第一・二戦隊の攻撃中に老鉄山沖を警戒していた第三戦隊も10時40分頃にロシア駆逐艦を発見して砲撃し、座礁したヴヌシーテリヌイ(Внушительный)を翌日自沈に追い込んだ。陸上砲台の射程も考慮してこれらの攻撃は遠距離で行われた。
3月6日、旅順のロシア艦隊司令官にマカロフ中将が着任した。
第四次攻撃
第一軍の上陸を援護するため旅順港の第四次攻撃が企画された。3月10日の未明、第一駆逐隊が旅順口に進出するとマカロフ中将も駆逐艦6隻を繰り出して海戦となり、沈没艦はなかったが双方に被害が出ていた。続いて旅順口に達した第三駆逐隊もロシアの駆逐艦レシーテリヌイ、水雷艇ステレグーシチイと戦闘となりステレグーシチイを無力化した後に捕獲を試みたがロシア巡洋艦のノヴィークとバヤーンが港外に出動してきたため曳航を諦めて撃沈した。
10時頃より第一戦隊が3隻ずつに分かれて10時8分から12時30分までおよび12時50分から13時46分まで間接射撃を行った。ロシア側は、干潮のため港口を通過できず出撃できなかった。この間接射撃により戦艦レトヴィザンに一発の砲弾が命中しその他の艦船や砲台にも被害が出た。
日本陸軍は予定通り、10日に第1軍主力（近衛師団、第2師団）を平壌近くの鎮南浦へ上陸させ、29日までに完了した。以後、平壌で第12師団と合流して北上を開始したが前進速度と悪路のために補給が困難となり、制海権も確保されていることから3月末には補給ポイントを義州南方・鉄山半島の望東浦および梨花浦に前進させた。
第五次攻撃
3月22日の未明から朝にかけてに第四駆逐隊と第五駆逐隊が旅順口に進出しロシアの哨戒艦艇と交戦した。
続いて第一戦隊の富士、八島が位置につき、9時56分より間接射撃を行った。ロシア側も対抗して陸上に砲撃用の観測所を新設しており、港内の軍艦が港外の日本艦隊へ間接射撃で応射した。また、ロシア艦隊は艦艇修理と整備を進めたうえマカロフの着任により迎撃を活性化させていた。富士と八島の攻撃に対して、巡洋艦バヤーン、アスコリド、ノヴィークを出撃させ、続いて戦艦ペトロパヴロフスク、ポルターヴァ、セヴァストーポリ、ペレスヴェート他の優勢な艦艇を出撃させたため、日本側は艦隊を退却させた。
第六次攻撃（第二回旅順口閉塞作戦）
3月27日の未明、閉塞船4隻による第二回旅順口閉塞作戦が実施された。
閉塞隊を援護するため、同時に第一・二・三駆逐隊および第九艇隊が出動した。この間、ロシア駆逐艦シーリヌイ(Сильный)が陸上砲台の誤射により大破擱座した。
夜が明けてもロシア艦隊は活動を続け、バヤーン、ノヴィークなどの巡洋艦の他、戦艦ポベーダ、ポルターヴァ、ペトロパヴロフスクなどが出航したため、閉塞作戦が失敗した。
第七次攻撃
4月7日に日本の連合艦隊司令部は第七次攻撃を発令した。その作戦案は、第四・五駆逐隊と第十四艇隊および蛟龍丸から成る部隊が第二駆逐隊の護衛の下で旅順港口付近へ機雷を隠密敷設するとともに、第三戦隊（装甲巡洋艦2隻で増強）がロシア艦隊主力の誘致を図り、第一戦隊が誘い出されたロシア艦隊を攻撃するという内容であった。悪天候のため作戦は順延され、4月12日午後5時40分に機雷敷設部隊は旅順港口へ向けて出撃した。同日午後11時から13日0時30分まで、敷設部隊は各艦船や駆逐艦村雨に曳航された団平船に積まれた機雷計44個を港口外へ敷設した。この間、雨による視界不良によりロシア側から発見されることはなかった。13日の早朝、敷設援護任務の第二駆逐隊と哨戒中のロシア駆逐艦ストラーシヌイ(Страшный)が交戦したのをきっかけに、ロシア巡洋艦バヤーンが救援のため湾外へ出撃し、日本の第三戦隊と旅順の湾口で砲戦となった。日本艦隊を追撃すべくロシア側はマカロフ中将指揮のもとに戦艦ペトロパヴロフスク他、戦艦2隻、巡洋艦3隻、駆逐艦9隻の艦隊主力が出撃した。退避する第三戦隊よりの電報を受けて日本の第一戦隊が救援に駆けつけたが、ロシア艦隊はこれを見て反転し、陸上砲台の射程内に日本艦隊を誘う動きを見せた。この時、10時32分ペトロパヴロフスクおよび続航する戦艦ポベーダが共に触雷した。ロシア側はこれを潜水艇の攻撃と誤認して海面を乱射した。被害を受けたペトロパヴロフスクは砲弾と魚雷の誘爆に加えてボイラーが爆発したことにより沈没し、座乗のマカロフ中将も戦死した。
4月14日、マカロフの後任指揮官として極東総督のエヴゲーニイ・アレクセーエフ大将が戦艦セヴァストーポリに着任して直接指揮を執ったが、以後日本艦隊の攻撃があっても積極的な反撃を行わなくなった。更に日本陸軍が塩奥襟襖付近に上陸したことを5月4日に知ったアレクセーエフは連絡を絶たれることを恐れて奉天へ脱出し、艦隊の指揮をウィットゲフト少将に任せた。
第八次攻撃
4月14日夜より15日未明に第二・四・五駆逐隊および第九艇隊は旅順口へ進出したが目標を発見できなかった。同じく15日朝に駆逐隊の収容およびロシア艦隊誘引の任務に出撃した第三戦隊も目的を達することが出来なかった。第一戦隊と共に旅順口に進出した新戦力の春日、日進は間接射撃を行ったがロシア艦の出撃はなかった。
第八次攻撃以後の海上戦闘
5月2日の夜には閉塞船12隻を投入した第三回旅順口閉塞作戦が実施されたが、閉塞には成功しなかった。
日本海軍は、第七次攻撃で機雷が効果を発揮したことから、機雷作戦の拡大を決めた。同年8月にかけて19回にわたり仮装砲艦による機雷敷設を行ったほか、同年6月から12月までは艦載水雷艇も投入し、ダミーを含め計1703個の機雷を旅順港口から約9キロメートルまでの一帯へ敷設した。
ロシア側も機雷による作戦を展開した。5月5日、旅順口の監視を続ける日本艦隊の航路に対し、ウィットゲフト少将は敷設艦アムールによる機雷敷設を実施した。これにより15日の午前11時10分に老鉄山沖で八島と初瀬が触雷沈没した。日本側は八島の沈没のみ発表し、初瀬の沈没は翌1905年5月末まで伏せられた。この前後には日本側の被害が続出していた。14日には水雷艇四十八号と宮古が触雷して沈没、15日1時30分に旅順沖で吉野が春日に衝突されて沈没、16日には龍田が座礁、17日には事故で大島、触雷で暁を失った。
6月23日、旅順艦隊がウラジオストックへ向けて一旦出航するも、すぐに引き返した。