Ospina began his career at Atlético Nacional, making his debut with the club in 2005. After achieving two domestic titles with Los Verdolagas, Ospina joined French side Nice. In 2014, he joined Arsenal on a four-year deal.
Ospina has been representing his country at a full international level since 2007. Upon his debut against Uruguay, he became the second-youngest goalkeeper to play for Colombia. He was part of the Colombian squad that reached the quarter-finals at the 2014 World Cup in Brazil.
Ospina began his professional career in Categoría Primera A club Atlético Nacional in 2005. Ospina played a total of 97 matches with the team, even being called to the national team. With the club, Ospina achieved three league titles. In mid-2008, Ospina was transferred to French club Nice.
After three seasons at Atlético Nacional, at the age of 19, he was transferred to Nice in France for an undisclosed fee, believed to be about €2 million. Ospina was reportedly signed to become the long-term replacement of Hugo Lloris, who had transferred to Lyon for €8.5 million. However, Ospina was served as a substitute of Lionel Letizi for the first few months of his career, before breaking into the first team. Frédéric Antonetti, the manager of Nice who brought Ospina to the club, said, "He has everything you need to be a top goalkeeper. He's good in the air and he's good on the ground. He has that little extra something to be a champion. Hugo Lloris was an international-standard goalkeeper; so is David."
Four years into his career at Nice, Ospina publicly voiced his desire to leave the club. Nice coach Claude Puel signed promising young French goalkeeper Joris Delle, and announced Delle would be promoted into the first team, sharing the position with Ospina. In the summer of 2012, Turkish club Besiktas attempted to sign Ospina, however the move fell through.
After Ospina's performances at the 2014 World Cup and his rejection of a contract extension, he was linked to many European sides. Despite being heavily linked to Atlético Madrid, Puel announced that Ospina would depart the club to join English side Arsenal.
On 27 July 2014, Arsenal had confirmed that Ospina had signed for the club on for an undisclosed fee, believed to be £3 million, on a four-year deal. Through the club's official Instagram account, Arsenal revealed that Ospina would wear the number 13 shirt for the club, last worn by loanee Emiliano Viviano. On 23 September 2014, Ospina made his debut for Arsenal in the League Cup match against Southampton, a 2–1 home defeat. He made his second Arsenal appearance on 1 October in their UEFA Champions League group stage match at home to Galatasaray, replacing Alexis Sánchez after starting goalkeeper Wojciech Szczęsny had been sent off for a professional foul on Burak Yılmaz. Ospina conceded the penalty, taken by its earner, but Arsenal won 4–1, making several vital saves in the process. In October, Ospina suffered a thigh injury that would keep him out effectively for the rest of the 2014 calendar year. Ospina resumed his cup duties in a 2–0 win against Hull City, but maintained his place for his full Premier League debut a week later, keeping a clean sheet in a 3–0 win against Stoke City. With first-choice goalkeeper Szczęsny punished for smoking in the dressing room after a game against Southampton, Ospina was made first choice in the league and went on to claim successive clean sheets against Manchester City and Aston Villa. He played every remaining league game until the end of the season, with the exception of FA Cup ties against Brighton & Hove Albion, Middlesbrough, Manchester United and Reading. Moreover, he was also an unused substitute in Arsenal's 4–0 win in the 2015 FA Cup Final against Aston Villa. However, Ospina's performances earned him a place on the FIFA Ballon d'Or longlist for the 2015 campaign.
During the summer transfer window period, Ospina was linked to Beşiktaş and Everton after Arsenal had signed Chelsea goalkeeper Petr Čech, which effectively demoted Ospina to second-choice 'keeper. However, no deal materialised, as second choice goalkeeper Wojciech Szczęsny was loaned to Roma for the season. Ospina made his first appearance of the season in a 2–1 away defeat against Dinamo Zagreb in the 2015–16 Champions League, and as the team's "cup goalkeeper," he made his first domestic appearance in a 2–1 League Cup win over London rivals Tottenham Hotspur. Ospina made another Champions League appearance, against Olympiacos, where his poor performances proved costly in a 3–2 home defeat, with the 'keeper conceding an own goal by dropping a corner from Kostas Fortounis into his own net. Ospina would later be dropped from Champions League duties in place of Čech. Ospina suffered a shoulder injury during October's international break that saw him ruled out until November. He was then in contention to face Sunderland in the FA Cup in January, but a training injury saw Čech take his place.
Ospina made his first start for Arsenal of the 2016–17 season in the club's opening game in the UEFA Champions League Group-stage against French champions Paris Saint Germain, producing a man-of-the-match performance as Arsenal drew 1–1; Ospina himself drew praise for many saves made during the game, mainly against striker Edinson Cavani. Ospina started in the FA cup final where he conceded 1 goal as Arsenal won 2 - 1.
Ospina has played for the Colombia national football team and was also a member of the under-20 team. Ospina was called up for the first time in the national U-20 team for 2005 FIFA World Youth Championship. At only 16 years old, Ospina was the youngest member of the squad, however he did not play any game during the whole tournament. Ospina was called back for the 2007 South American U-20 Championship, where he played four games. However, Colombia failed to qualify for the World Cup, the last youth tournament he had the opportunity to would play in.
Ospina made his debut for the senior team as a substitute in the 1–3 defeat against Uruguay. He played his first match in a 2010 FIFA World Cup qualification match against Bolivia, becoming the second-youngest goalkeeper to play for the Colombian national team.
Ospina was selected as the main goalkeeper for Colombia throughout the 2014 FIFA World Cup qualification competition. At the end of the qualifiers, Ospina conceded the fewest number of goals of the tournament.
Ospina is known for his athletic and acrobatic saves and fast reflexes, which have led people to compare him to former Colombian international Faryd Mondragón.
Ospina is brother-in-law to fellow Colombian international footballer James Rodríguez, who married David's sister Daniela in 2011. However, they announced their separation in July 2017. Ospina is married to Colombian model Jesica Sterling, whom he married in 2012, and has one daughter named Dulce María and a son named Maximiliano.As of 15 September 2017
As of 5 September 2017
Categoría Primera A: 2007-I, 2007-II
FA Cup: 2014–15, 2016–17
FA Community Shield: 2017
Copa América: Third place 2016