The match also witnessed three red cards in stoppage time, with Milan being reduced to nine men as tensions flared
Valencia bossed the first half at a packed Mestalla as the hosts chased down a 1-0 deficit but their hopes of a comeback were dashed when Brazilian Coutinho slid in to turn home a cross from his old Liverpool team mate Luis Suarez in the 49th minute.
Coutinho, who joined Barca from Liverpool for a club record 142 million pounds ($197.66 million) in January, had been on the pitch less than three minutes when he scored, while Ivan Rakitic stretched the vistors' lead eight minutes from time.
Barcelona have lifted the trophy for the last three years and face Sevilla in the final on April 21, a re-run of the 2016 showpiece which the Catalans won 2-0 after extra time. Sevilla beat Leganes 2-0 on Wednesday to advance 3-1 on aggregate.