Defence ministers from the three countries signed the deal on Friday.
Poland's defence ministry said the brigade would be based in the eastern Polish city of Lublin but the soldiers would remain in their home countries.
Poland and Lithuania are eager to bolster defences following Russia's annexation of Ukraine's Crimean peninsula earlier this year.
Russia sent thousands of troops to the peninsula in March, eventually forcing Ukrainian soldiers to withdraw.
Shortly afterwards, pro-Russian separatists in Ukraine's eastern Donetsk and Luhansk regions declared their independence.
More than 3,000 people have died in fighting between Ukrainian government forces and separatists since April.
A spokesman for the Polish defence ministry said work to form the joint unit with Ukraine and Lithuania first began in 2007, adding that it would operate under the guidance of the UN, NATO and the EU.
The unit would participate in peacekeeping missions, the spokesman added, but no details were given on any potential role in Ukraine's conflict.
Earlier this week, soldiers from Poland and Lithuania joined about 1,300 soldiers from 15 countries - including the US and other NATO members - in military exercises in western Ukraine.
In response, Russia's Defence Minister Sergei Shoigu said it must boost its forces in Crimea to counter the presence of Western troops in Ukraine.
Also on Friday, NATO defence chiefs agreed to set up regional centres in several Eastern European countries, during a meeting Lithuania's capital Vilnius.
Lithuania's chief of defence Jonas Vytautas Zukas said the "command-and-control" centres would be launched in Lithuania, Latvia, Estonia, Poland and Romania and would each employ up to 120 military personnel.
Meanwhile, Sweden said on Friday that it had lodged a complaint with Russia's ambassador in Stockholm about two Russian fighter planes entering Swedish airspace.
Swedish officials said the jets had briefly violated Swedish airspace on Wednesday near the eastern island of Oland.
In another diplomatic row, Lithuania said it had summoned Russia's ambassador to Vilnius after a Lithuanian fishing vessel was detained by Russian authorities earlier this week.
Source: BBC News Europe