プレイヤーは「ポータルガン」という銃を所持している。ポータルガンは攻撃はできないが、「ブルーポータル」、「オレンジポータル」という2つのつながっている穴を作ることができ、このポータルはブルーポータルに入ればオレンジポータルから、逆にオレンジポータルに入ればブルーポータルから出てくる。このポータルを使って様々な仕掛けを解いていくのが本作の目的である。ポータルを作れるのは白い壁や床などに限られ、基本的にその他の地形に作ることはできない。ポータルに入るときは、その時点の重力などの影響を残したまま移動できるため、左図のように高い段差からブルーポータルに飛び込めば、その勢いのままオレンジポータルから飛び出すため、通常の移動では行けない高い場所などへの移動ができる。その他のものをポータルに入れて別の場所へ移動させる事も可能。ステージ（ゲーム中では「チェンバー」と呼ばれている）が19あり、ゲームをクリアした後は、さらに難しくなった上級チェンバーや、どれだけポータルを作らずにクリアできるかなどを競うチャレンジモードもできるようになる。FPS（ファースト・パーソン・シューティングゲーム）の基本となっていた敵を倒すという要素の排除、今まで「テンポが悪くなるため不要」と言われていたパズルシーンのみを抜粋するアイデア、そして重力と物理エンジンをフルに生かしたゲーム性などが評価され、多数のGame Of The Yearを獲得。『The Orange Box』は100以上のGame Of The Yearを獲得したが、半分以上がこのPortalのパートで獲得している。特筆すべき点として、この『Portal』はデジペン工科大学（ニンテンドー・オブ・アメリカの協力で設立された、米国初のゲーム系4年制大学）の学生が、卒業制作として作っていた『Narbacular Drop』というゲームが実質的な原型となっていることが挙げられる。同作の出来を見たValve Softwareの社長に見初められ、制作チームの全員がValve Softwareに就職し、Narbacular DropはSourceエンジン上で基本となるアイデアはそのままに、このような形で製品化されたのである。なお、PC版はユーザーが作ったステージなどを導入できる。
5月5日、田ノ浦に征討軍が上陸。材木村は田ノ浦から人吉に通じる要路であったため鵬翼隊四・六番中隊は材木村に見張りを置き、大野口を守備した。6日、征討軍が材木村の鵬翼隊四番中隊を攻めたので、薩軍はこれを迎え撃ち、いったんは佐敷に退却させることに成功した。しかし9日、征討軍は再び材木村の鵬翼隊六番中隊を攻めた。激戦が行われたが、薩軍は敗れてしまい、長園村に退いた。このとき淵辺が本営より干城隊八番中隊左半隊を応援に寄越したので、征討軍を挟み撃ち攻撃で翻弄し、塁を取り戻した。また、一ノ瀬の鵬翼隊三番中隊は征討軍の襲来に苦戦しつつも材木村まで到達し、材木村の薩軍と共に塁の奪還に成功した。さらに鵬翼隊二・五番中隊、干城隊四番中隊、その他諸隊は佐敷方面湯ノ浦の征討軍を攻めたが失敗し大野に退却した。16日、征討軍が一ノ瀬の鵬翼隊五番中隊を攻撃した。薩軍は苦戦したが、大野からきた干城隊三番中隊の参戦により征討軍を退けることができた。20日、別働第3旅団が久木野に進入した。大野本営にいた淵辺は干城隊番三・四・八番中隊に命令して久木野の征討軍を襲撃させ、退却させることに成功した。この戦いは薩軍の圧勝となり、銃器や弾薬、その他の物品を多く得た。22日、淵辺は佐敷口の湯ノ浦に進撃することを決め、干城隊三・四番中隊、鵬翼隊六番中隊、その他2隊に進軍を命じた。またこの日、大野の本営にいた辺見は久木野に進撃することを決意し、淵辺に応援を要求した。淵辺は干城隊八番中隊を久木野に寄越した。そこで、たまたま大野口から湯ノ浦に進撃していた干城隊三・四番中隊と合流し、征討軍を退けた。23日、別働第三旅団が倉谷・高平・大野方面の薩軍を次々と破り、大野に進入してきた。鵬翼隊五番中隊左小隊、干城隊二番中隊は防戦したが、敗れて石河内に退却した。久木野にいた干城隊八番中隊も参戦しようとしたが、大野の塁は征討軍に奪われてしまった。淵辺群平は、塁を奪還するため夜襲を命じたが、征討軍の反撃で退却した。この日、一ノ瀬の鵬翼隊三番中隊の塁にも官軍が襲来した。三番中隊は大野口の敗報を聞き、左小隊を鎌瀬、右小隊を植柘に分けて退いた。その後神ノ瀬方面も敗れたという報告を聞き、舞床に退いた。鵬翼隊二番中隊は岩棚より程角道三方堺に退却した。28日明け方、征討軍が舞床の鵬翼隊三番中隊を襲った。この日は防戦に成功したが征討軍は29日に再び鵬翼隊三番中隊右半隊を攻撃。薩軍は塁を捨てて後退したが、鵬翼隊三番中隊左小隊の活躍により塁を取り返し、銃器・弾薬を得た。この夜、三方堺の鵬翼隊二番中隊も襲われ、弾薬不足のため背進した。このため舞床の薩軍は鵯越に退いた。札松方面の鵬翼隊二番中隊が人吉に退却したため、振武隊二番中隊・干城隊八番中隊は程角越の応援のために進撃し、振武隊二番中隊は程角本道の守備を開始した。鵬翼隊二番中隊も同じく程角越に進撃した。30日の夜明け頃、征討軍が程角左翼の塁を攻撃し薩軍は敗北した。征討軍は勢いに乗じて干城隊八番中隊・振武隊十六番小隊を攻めた。薩軍各隊は大いに苦戦し、次々と兵を原田村に引き揚げた。激しい攻防が続き、勝敗は決まらず夜になった。翌日薩軍各隊は原田村に兵を配置した。6月1日早朝、諸道の征討軍が人吉に向かって進撃した。諸方面の薩軍はすべて敗れ、人吉や大畑に退却した。これを知った中神村の鵬翼隊六番中隊・雷撃隊五番中隊・破竹隊一番中隊、その他2隊、鵯越の鵬翼三番中隊、戸ノ原の鵬翼隊五番中隊等の諸隊は大畑に退却した。原田村の干城隊八番中隊・振武隊二番中隊・鵬翼隊二番中隊・振武隊十六番小隊、郷之原の破竹隊四番中隊、深上の雷撃隊一番中隊、馬場村の雷撃隊二番中隊等は人吉の危機を聞き、戦いながら人吉に向かった。