Несмотря на зимнее время и господство на море помпеянского флота, Цезарь со сравнительно небольшим авангардом 5 января 48 г. до н. э. переправился в Грецию. Узнав об этой неожиданной переправе, Помпей как можно быстрее двинулся к Диррахию, чтобы захватить его раньше Цезаря. Ему это удалось. Цезарь, оказавшись в трудном положении, пытался затянуть время и снова предложил начать мирные переговоры, но Помпей их отверг. Началась серия стычек между войсками соперников, не приносившая решительного успеха ни той, ни другой стороне. Но позже к Цезарю пришли подкрепления из Италии. А Помпей усилил свой натиск. Одна из стычек перешла в ожесточенное сражение, в котором Цезарь был разгромлен. Все его попытки остановить бегство своих солдат ни к чему не привели. Помпей еще раз одержал победу. Казалось, нужно еще одно сравнительно небольшое усилие, чтобы окончательно добить Цезаря. И этого требовали некоторые командиры помпеянской армии. Но Помпей рассудил иначе. Он счел, что его воины слишком устали, чтобы эффективно преследовать врага. А главное, он полагал, что после такого поражения и в условиях неминуемо надвигающегося голода, ибо у Цезаря не было ни провианта, ни денег, армия Цезаря распадется сама собой.
Цезарь и сам, по-видимому, боялся такого исхода. Поэтому он, ограничившись разжалованием некоторых знаменосцев, наиболее, по его мнению, виновных в бегстве солдат, не только отказался от принятия всяких других дисциплинарных мер, но, наоборот, постарался ободрить и рядовых воинов, и командиров и даже признал свою ошибку в расположении лагеря у Диррахия, где все преимущества были на стороне Помпея. А затем он вообще радикально изменил весь план кампании. Вместо того чтобы отсиживаться в своем лагере или попытаться снова перебраться в Италию, Цезарь двинулся в глубь Балканского полуострова. Он решил либо нанести удар по армии Сципиона, стоявшей в Македонии, либо, если Помпей успеет с ним соединиться, дать сражение в более подходящих обстоятельствах. Этого Помпей никак не ожидал. И когда Цезарь начал свое движение, ему ничего не оставалось, как двинуться вслед за ним. Помпей действительно сумел соединиться со Сципионом. И объединенная армия под командованием Помпея спустилась на равнину Фессалии и подошла к городу Фарсалу, куда к тому времени подошли и войска Цезаря. Немногим восточнее этого города и разыгралась битва, решившая исход этой гражданской войны.
Помпеянцы были полностью уверены в успехе. Они уже заранее делили и должности, и дома в Риме. В этом их поддерживало не только воспоминание о победе у Диррахия, но и почти двойное превосходство в пехоте и более чем двойное — в коннице. Помпей избрал своим паролем «Геркулес непобедимый». Утром 9 августа 48 г. до н. э. началось сражение. Несмотря на численный перевес помпеянских войск, боевая закалка цезаревских воинов и талантливое руководство самого Цезаря дали себя знать. Попытка помпеянской конницы обойти правый фланг цезарианской армии не удалась. Конница Помпея была почти уничтожена цезаревским резервом, и это во многом решило дело. Цезарианцы перешли в решительное наступление. Их натиск был столь силен, что солдаты Помпея начали постепенно отступать. Сначала этому натиску поддалось левое крыло армии Помпея, которым командовал Люций Домиций Агенобарб, но вскоре солдаты вспомогательных частей впали в панику и бросились в бегство, расстроив сплоченный строй отступающих легионеров. Правое крыло отступало медленно, но затем и это отступление превратилось в бегство. А на центр, которым командовал Сципион, Цезарь бросил свои лучшие части. Армия Помпея была отброшена в свой лагерь. Несмотря на невероятную усталость своих воинов, Цезарь решился на штурм лагеря, не желая повторять ошибку Помпея под Диррахием. И лагерь тоже был взят. При виде своих бегущих солдат и падения лагеря Помпей впал в полную прострацию. Опомнившись, он сел на лошадь и в сопровождении четырех спутников поспешил в соседний город Лариссу. В битве при Фарсале погибло около 6 тысяч рядовых воинов Помпея из числа римлян (вспомогательных воинов никто не считал), а также 40 знатных всадников и 10 сенаторов, среди которых был и Агенобарб.
Разгром был полный. Никаких войск в Греции и Македонии у Помпея больше не было. Правда, его корабли с воинами еще стояли у Коркиры в Ионийском море, а в Африке тоже еще имелись силы, которые в прошлом году победили Куриона. И оставшиеся в живых помпеянцы, не желавшие сдаваться Цезарю, стали собираться в Африку. Среди них был и сын Помпея Гней. Но сам Помпей так растерялся, что ни о каком сопротивлении больше не думал. Он направился к побережью, где сел на какое-то речное судно, а затем сумел перебраться на торговый корабль, на котором приплыл в Митилену, где находились его жена Корнелия и младший сын Секст. Захватив жену и сына, он продолжил плавание, больше похожее на бегство.