The Spanish right-back was raised by Sevilla, but before he had even come close to making his first-team debut he refused a contract offer from the club as Liverpool had been preparing his transfer the previous six months. Liverpool made use of FIFA rules regarding young players who did not have professional contracts and captured him, but paid a compensation fee of £240,000. Liverpool had high hopes for Barragan but he was rather surprisingly sold after just one year and one appearance back to his homeland. Barragan played 26 league games in two seasons for Deportivo La Coruna before joining Real Valladolid in the summer of 2009 after being out with a serious knee injury throughout 2008/09. He played 39 league games in two years for Valladolid but was relegated in his first season to the second division in Spain.
His career was on the rise again when he joined Valencia in August 2011. Barragan played in 18 La Liga matches in 2011/12. Although Valencia finished a massive 39 points behind champions Real Madrid third place with 61 points was enough to ensure qualification for the Champions League. Barragan, made fourteen appearances in La Liga during the 2012-13 season plus five in the Champions League and four in the Copa del Rey. His club finished the season in fifth position, which meant that they would qualify for the group stage of the Europa League. Barragán appeared in 19 La Liga matches for Valencia in the 2013/14 season. He also played 9 times in Europa League matches, scoring his first Valencia goal against the Bulgarian club Ludogorets Razgrad in the first leg of the Round of 16 tie played in Sofia. in January 2015 he scored his first goal since 2006/07, the equaliser in a match against Real Madrid which his side eventually won 2-1.
After five years with Valencia Barragan left to join Premiership new boys Middlesbrough for an undisclosed fee. He made 26 appearances as they were relegated and returned to Spain for 2017/18 with Real Betis, helping them qualify for the Europa League. He remained with Betis for 2018/19, but featured only fourteen times in La Liga. The following season he made just seven starts and he was released in the summer of 2020.