Keselowski, who ran in Group A, topped the speed chart with an average lap speed of 158.660 mph.
Larson, who ran in Group B, ended up second-fastest (157.832 mph) and William Byron, from Group A, was third (157.790 mph).
“I imagine everyone was pretty tight. We made an adjustment and it helped slightly, not in the part of the corner that I wanted it but still it was good to feel some change,” Larson said. “I feel like my car has speed.”
Chase Elliott ended up fourth and Austin Cindric rounded out the top-five.
Group B
Larson, with an average lap speed of 157.832 mph, topped the second practice session which was cut short a couple minutes by light rain.
Cindic was second-fastest (157.507 mph) and Hamlin was third (157.184 mph).
Blaney and Corey LaJoie rounded out the top-five.
Less than five minutes into the session, Erik Jones spun out in Turns 3 and 4 but was able to keep his No. 43 Chevrolet off the wall.
With overcast and cool conditions, combined with no track activity Friday due to rain, there was little opportunity for rubber to get laid on the track, which resulted in several teams seeing tire cording less than 20 laps into a run.
Group A
Keselowski led the way in an eventful first 20-minute session with an average lap speed of 158.660 mph.
Byron was second-fastest (157.790 mph) and Elliott third (157.549 mph).
Joey Logano and Martin Truex Jr. rounded out the top-five.
Josh Berry, in his first weekend substituting for the injured Alex Bowman in Hendrick’s No. 48 Chevrolet, was 10th quick.
Just minutes into practice, Austin Dillon spun around in Turn 3 and backed into the wall, doing extensive damage to his No. 3 Chevrolet.
Dillon’s team elected to move to a backup car and will have to start Sunday’s race from the rear of the field.
Moments after the track returned to green, Daniel Suarez spun around in Turn 4 but did not appear to hit the wall.