Эспиноса — воспитанник «Барселоны». В 2011 году он выпустился из академии клуба и на протяжении ещё трёх лет выступал за резервную команду «Барселона Б». Из-за высокой конкуренции в основной команде у Хавьера не было шанса дебютировать в элите. Летом 2014 года у Эспиносы закончился контракт и он на правах свободного агента перешёл в «Вильярреал», подписав контракт на три года[3]. 24 августа в матче против «Леванте» Хавьер дебютировал в Ла Лиге, заменив Кани во втором тайме[4]. 21 сентября в поединке против «Райо Вальекано» он забил свой первый гол за новый клуб[5]. 10 октября в матче Лиги Европы против кипрского «Аполлона» Эспиноса сделал «дубль»[6].
В начале 2015 года Хавьер перешёл на правах аренды в «Альмерию». 11 января в матче против «Севильи» он дебютировал за новую команду[7]. 11 апреля в поединке против «Гранады» Эспиноса забил свой первый гол за «Альмерию»[8]. Летом «Вильярреал» отправил его в аренду в «Эльче». 30 августа в матче против «дубля» «Атлетика» из Бильбао Хавьер дебютировал за новый клуб[9].
Летом 2016 года Эспиноса перешёл в «Леванте»[10]. 21 августа в матче против «Нумансии» он дебютировал за новую команду[11]. Летом 2017 года Эспиноса на правах аренды перешёл в «Гранаду». 20 августа в матче против «Альбасете» он дебютировал за новый клуб[12]. 8 октября в поединке против «Луго» Хавьер забил свой первый гол за «Гранаду»[13].
Летом 2018 года Эспиноса стал игроком нидерландского «Твенте»[14]. 8 сентября в матче против «ТОП Осс» он дебютировал за новую команду[15]. 22 октября в поединке против «Йонг Утрехт» отметился первым дублем в Эрстедивизи[16].