I den senaste ligamatchen hemma mot Deportivo La Coruña gjorde Lionel Messi comeback med ett inhopp efter sin skada, och blev målskytt direkt. Mot Valencia fanns den argentiska storstjärnan med från start - och han skulle få en huvudroll.
Barcelonas stjärnveteran Andres Iniesta fick dock bara vara på planen i en kvart. Mittfältaren skadades i en tackling och fick gå av till förmån för Ivan Rakitic.
Men katalanerna fortsatte trumma på och Leo Messi kunde i den första halvleken skjuta in 1-0 med vänsterfoten.
I den 53:e minuten lyckades nyinbytte Munir, som är utlånad till just Valencia från Barcelona, kvittera mot sin klubb.
Därefter dröjde det inte länge innan Rodrigo hittade nätet och sköt ledningen till Barcelona.
Svängigare skulle det bli. Luis Suarez såg till att kvittera till 2-2 för ett poängjagande Barcelona.
Och det såg ut som att lagen var på väg att dela på poängen. Matchen var precis på väg att ta slut när Luis Suarez i den andra och sista tilläggsminuten föll i offensivt straffområde.
Domaren blåste straff och från elva meter kunde Leo Messi skjuta in segermålet.
Barcelona går därmed tillfälligt upp i serietopp.
Startelvor:
Valencia: Alves - Montoya, Garay, Mangala, Gaya - Perez, Suarez - Cancelo, Parejo, Nani - Rodrigo.
Barcelona: Ter Stegen - Roberto, Mascherano, Umtiti, Digne - Gomes, Busquets, Iniesta - Messi, Suarez, Neymar.