On Tuesday night against the Indians in St. Louis, Matt Carpenter enjoyed one of the best nights in the history of a Cardinals hitter, going 5-for-5 with a double and a pair of homers. Given a chance to become the first Cardinal to hit for the cycle since Carlos Beltran on May 11, 2012, and the 19th since 1908 — all he needed was a triple — Carpenter instead capped the team’s 11-run outburst with a 399-foot homer off reliever George Kontos. He had collected a 368-footer off Corey Kluber in the first.

As colleague Craig Edwards pointed out in the wake of that performance, Carpenter has been the game’s hottest hitter this side of Mike Trout lately:

MLB wRC+ leaders since May 16

1. Mike Trout, 208

2. Matt Carpenter, 199 — Craig Edwards (@craigjedwards) June 27, 2018

Admittedly, May 16 is an arbitrary endpoint, but it not only coincides with the offensive nadir of the 32-year-old infielder’s season, it happened to mark the halfway point between Opening Day and his big night. The Cardinals had played 39 games up to the point when Carpenter broke out by going 3-for-5 with a pair of doubles against the Twins at Target Field, and his 5-for-5 showing came during the team’s 78th game. Here’s the split through Wednesday’s game:

A Tale of Two Seasons: Matt Carpenter Before and After May 16 Period PA HR BB% K% AVG OBP SLG BABIP wRC+ Through May 15 140 3 16.4% 28.6% .140 .286 .272 .178 60 Since May 16 176 12 11.9% 21.6% .348 .426 .690 .400 200

And here’s the Trout-topped leaderboard:

Top Hitters by wRC+, May 16-June 27 Rk Player Team PA HR AVG OBP SLG wRC+ 1 Mike Trout Angels 170 11 .341 .467 .659 205 2 Matt Carpenter Cardinals 176 12 .348 .426 .690 200 3 Max Muncy Dodgers 143 13 .273 .434 .673 196 4 Jose Altuve Astros 166 5 .386 .461 .586 192 5 Shin-Soo Choo Rangers 180 9 .338 .478 .592 191 6 Joc Pederson Dodgers 101 10 .293 .347 .750 189 7 Nelson Cruz Mariners 143 13 .301 .392 .667 187 8 J.D. Martinez Red Sox 158 14 .312 .399 .681 187 9 Paul Goldschmidt D’backs 164 13 .312 .409 .674 187 10 Derek Dietrich Marlins 141 8 .362 .418 .630 186

Arbitrary endpoints and all, that’s some pretty good company, including a player whose turnaround I’ve highlighted (Goldschmidt), a surprise breakout covered by Jeff Sullivan (Muncy), the last two AL MVPs (Altuve and Trout), and the winter’s biggest free-agent bat (Martinez). On Thursday, Muncy homered again for the Dodgers, so he may even have surpassed Carpenter, but you get the idea: these guys are en fuego.

Before Carpenter started to light it up, however, it was fair to wonder if he had suddenly reached the downslope of his career. Last year, he hit for a respectable 123 wRC+ (.241/.384/.451) but called his season “a huge disappointment,” adding, “I’m not going to let myself hit .240 again… I wasn’t happy about the kind of year I had at all.” Indeed, though Carpenter drew a career high 109 walks, his batting average was the lowest mark of his career, his slugging percentage the lowest since 2014, and that 3.1 WAR his lowest since 2012, a season during which he played just 111 games.

Carpenter battled soreness in his right shoulder for much of the 2017 season and struggled to drive the ball to the opposite field. After being diagnosed with bursitis and receiving a cortisone shot in September, he was shut down when the Cardinals were eliminated from postseason contention. He did not need offseason surgery, but when he hit the skids in the wake of a spring during which he dealt with further shoulder and back woes, it looked like he could be in for a long slog.

But as MLB.com’s Joe Trezza reported on May 2, when the Cardinals infielder was hitting just .155/.305/.274, team officials reassured Carpenter by pointing to the 141-point gap between his Statcast expected weighted on-base average (xwOBA) and his wOBA. Here’s a closer look at his Statcast splits by month:

Matt Carpenter Via Statcast Month GB/FB EV LA BABIP wOBA xwOBA Dif Mar/Apr 0.65 88.0 17.7 .190 .265 .404 -.139 May 0.47 90.5 18.9 .367 .400 .410 -.010 June 0.47 93.0 24.0 .367 .445 .422 .023 Season 0.52 90.6 20.3 .309 .372 .412 -.040 SOURCE: Baseball Savant EV = average exit velocity, LA = average launch angle

Speed (or the lack of it) is one reason for gaps between wOBA and xwOBA; a player with good wheels might pick up extra hits on balls that might otherwise be outs. Carpenter, a player who’s in the slowest quartile of MLB regulars, has recorded just one infield hit this year. Nonetheless, it does appear that he was the victim of some bad luck that has evened out; a .400 xwOBA hitter is somebody who’s scalding the ball, and as you can see from the table above, Carpenter — who consciously began working to elevate the ball circa 2015 and jumped from eight homers to 28 — was consistently hitting it in the air, over the infield shifts that he frequently faces (and generally handles well). Through Wednesday, his .412 xwOBA was tied for 12th among the 228 players who have faced at least 750 pitches.

(As an aside, Carpenter still hasn’t hit an infield fly all season, which itself is pretty impressive. Then again, the two other batting title-qualified hitters who have yet to hit an infield fly are Ian Desmond, who’s hit for an 82 wRC+ this year, and Joey Votto, who’s hit for a 147 wRC+. Votto didn’t hit a single one in either 2010 or 2016, and had just one in 2017. Of the 10 qualifying seasons without a single pop up in the past decade, three of them were by Howie Kendrick. Who knew?)

Interestingly enough, it’s teammate Jose Martinez whose .412 xwOBA is tied with Carpenter, as the two players’ seasons are linked. Recall that, after earning All-Star honors both as a second baseman (2013) and third baseman (2014 and -16), Carpenter was asked to move to first base following the 2016 season in order to help stabilize the infield defense. He played 120 games there last year (110 starts) and spotted at both second (13 starts) and third (16 starts). Even with Martinez’s emergence as a more-than-competent hitter last year, the Cardinals planned to use Carpenter primarily at first base, with spot starts at the other positions, right up until the season opened. Just before it did, the team decided it was worth squeezing Martinez’s bat into the everyday lineup, with Carpenter back at his old position and Jedd Gyorko losing out on regular duty.

So far, the rearrangement has paid off. Carpenter is hitting .260/.364/.513 for a 137 wRC+ (12th in the league) overall, with 2.6 WAR (tied for eighth in the NL); his 15 homers are tied for 10th. Martinez is hitting .305/.375/.500 (140 wRC+) with 1.3 WAR. That’s 3.9 WAR between the two players, and 4.3 WAR at the infield corners including other contributors, a pace of 8.8 WAR over a full season. Last year, Cardinals first and third baseman combined for 6.7 WAR, so this arrangement looks as though it could pay a two-win dividend.

Meanwhile, though the team is just 12-13 in June and 42-37 overall, Carpenter (186 wRC+ this month) and Martinez (184) have gotten help from the previously struggling Marcell Ozuna (171 this month, 79 prior) and Kolten Wong (115 this month, 60 prior) in driving the offense, while Yadier Molina (112) has hit well after missing a month due to groin surgery. That still leaves Tommy Pham (47 this month, 133 prior) and Dexter Fowler (56 overall) in need of jump-starting, but if the Cardinals are going to pull ahead of the Cubs (44-35) and Brewers (47-33), or at least the rest of the NL Wild Card field, they’ll need to be firing on as many cylinders as possible.