Lindor hit solo home runs in the third and seventh, and scored four runs. His third career four-hit game extended the All-Star shortstop's hitting streak to 13 games.
Michael Brantley had three hits, drove in two runs and broke a 2-all tie with an RBI double in the sixth.
Mike Clevinger (3-0) allowed two runs in 7 2/3 innings as the Indians won for just the second time in their last seven games.
Both of Lindor's home runs came batting left-handed. He homered down the right-field line off Junis in the third, tying the score at 2-all. Lindor homered into the bleachers in left-center off Kevin McCarthy in the seventh, extending Cleveland's lead to 5-2.
Lindor, who has struggled defensively, started a double play to help Clevinger escape a potential jam in the second. He's committed eight errors, including four in the last seven games, after making 10 last season.
Salvador Perez's run-scoring grounder in the first put the Royals up 1-0, but Brantley's single tied it in the bottom of the inning.
Jay and Soler had consecutive doubles with one out in the third to put Kansas City back ahead, before Lindor's first homer tied it again.
Lindor and Brantley opened the sixth with doubles, and Yonder Alonso had an RBI single with two outs to give Cleveland a 4-2 lead.
After Lindor's one-out homer in the seventh, Edwin Encarnacion had an RBI single four batters later to push the Indians' lead to 6-2.
Clevinger allowed eight hits, struck out five and didn't walk a batter.
The start of the game was delayed by rain for 75 minutes. Several seagulls descended on the ballpark in the sixth inning, but quickly left the premises.
Royals: RHP Justin Grimm (lower back stiffness), who has been on the 10-day disabled list since April 24, could begin a rehab assignment next week.
Indians: RF Tyler Naquin on the 10-day disabled list with a strained left hamstring. The injury occurred while he was running the bases Friday. Manager ... CF Bradley Zimmer was scratched from the lineup because he's still dealing with a bruised chest after crashing into the wall at Yankee Stadium last weekend. Zimmer has only played in one game in the last week and.is still sore when swinging the bat.
Royals LHP Danny Duffy (1-4, 5.15 ERA) faces Indians RHP Corey Kluber (5-2, 2.62 ERA) in the finale of the three-game series. Kluber allowed two home runs in losing to Milwaukee in his last start, including a 433-foot shot to relief pitcher Brent Suter.