Caesar had been victorious in Spain, but his lieutenants fared less well in Africa and around the Adriatic Sea. So he decided to attack Pompey directly, and brought 15,000 of his troops from Spain to Brundisium in Italy, and thence across the Adriatic to Epirus, landing there on 4 January. Caesar occupied Oricum and Apollonia.
Moving north towards Dyrrhachium, he discovered Pompey entrenched there with an army of 45,000. Pompey saw no reason to risk a battle, since his fleet controlled the Adriatic, and Caesar's troops went hungry in the spring of 48, although eventually reinforcements arrived with Marcus Antonius.
Finally Caesar had to do something, so he tried to surround Pompey in Dyrrhachium and squeeze him. But Pompey was able to cave in the left of Caesar's line, Caesar lost 1,000 of his veterans in the fighting, and decided to leave the field to Pompey and content himself with being able to leave the field at all.
Caesar withdrew towards Thessaly, Pompey decamping to follow him, setting the stage for the decisive Battle of Pharsalus.