With England having selected just a 12-man squad, Cook took the unusual step of effectively naming his side 24 hours before the start of a match, with the first of a three-Test series against Sri Lanka due to get underway at Headingley, Yorkshire's headquarters ground in Leeds, northern England, on Thursday.
"Steven Finn is going to play," Cook told reporters at Headingley on Wednesday.
"He's been outstanding when he's been fit for us. I think everyone kind of knew that."
But his record of 113 Test wickets at an average of just over 28 apiece saw him chosen ahead of Ball in the race to be England's third seamer behind James Anderson and Stuart Broad.
Also Read
Ball has made a strong start to the county season with Nottinghamshire and Cook said: "It was great to have Jake along and he's made a big impact this year in county cricket.
"It's great for the guys who haven't really seen much of him to get to know the guy and he can certainly bowl."
England team to play Sri Lanka in the first Test at Headingley starting Thursday:
Alastair Cook (capt), Alex Hales, Nick Compton, Joe Root, James Vince, Ben Stokes, Jonny Bairstow (wkt), Moeen Ali, Stuart Broad, Steven Finn, James Anderson.