Jack Morris pitched a three-hitter, Alan Trammell batted in two runs with a home run and a double and the Tigers defeated the Boston Red Sox, 4-1, in Detroit last night, sweeping a three-game series and staying even with the Toronto Blue Jays atop the AL East.

Morris (18-8), who didn't allow a hit for the first 5 1/3 innings, allowed one unearned run, walked two and struck out four, pitching his 12th complete game.

Jeff Sellers (7-8) was the loser.

Kirk Gibson singled with two outs in the first, stole second and scored on Trammell's double, giving Detroit a 1-0 lead. Lou Whitaker doubled for another run in the second. Trammell hit his 26th homer of the season in the third.

In the sixth, Darrell Evans reached first on first baseman Dwight Evans' error, Matt Nokes singled and Calvin Schiraldi relieved Sellers. Lemon followed with a single that scored Evans.

The start of the game was delayed 1 hour 26 minutes by rain.

Angels 6, Royals 4: Bill Buckner had three hits and two runs batted in, Ruppert Jones had two RBI and California won in Kansas City, Mo.

Angels catcher Bob Boone set a major league record when he appeared in his 1,919th game as a catcher. Boone, in his 15th major league season, broke Al Lopez's record.

The game was stopped at the start of the inning after Boone took the field alone. All of his teammates then filed onto the field to offer congratulations and he was given a standing ovation.

Rangers 4, Athletics 1: Charlie Hough pitched a three-hitter, Darrell Porter and Larry Parrish hit home runs and Texas won at home over Oakland.

Stewart (19-11) failed for the second time to earn his 20th win. Hough (17-11) did not allow a hit until Mike Gallego's single in the fifth.

Rangers catcher Geno Petralli set a major league single-season record for passed balls when he dropped a third strike. It was Petralli's 34th passed ball of the season. J.C. Martin of the Chicago White Sox set the previous record in 1965.

Brewers 5, Yankees 4: In New York, Glenn Braggs' seventh-inning triple broke a 4-4 tie and Milwaukee's Ted Higuera won his sixth straight start.

Braggs tripled off reliever Tim Stoddard (4-3) completing a three-run rally in the seventh.

Higuera (17-9) allowed six hits while pitching his 13th complete game.

Mariners 5, Indians 3: Rey Quinones' two-run homer with one out in the ninth gave Seattle a win over Cleveland at the Kingdome.

Quinones' 11th homer of the season, came on a 2-2 pitch from reliever Sammy Stewart (4-2). Bill Wilkinson (3-3) got the victory in relief.

In the fourth inning, Cleveland's Joe Carter stole second base, his career-high 30th of the season, to become the ninth major league player to hit 30 home runs and steal 30 bases in the same year. He is third player to do it this year, joining Eric Davis of the Cincinnati Reds and Howard Johnson of the New York Mets. Carter, who has 31 homers, is the first AL player to accomplish the feat since Bobby Bonds in 1978. Bonds is now a coach for the Indians.

White Sox 13, Twins 10: Harold Baines doubled home two runs to highlight a five-run fifth inning, then hit a two-run homer in Chicago's seven-run sixth as the White Sox defeated Minnesota in Chicago.

It is the first time since Sept. 25-27, 1979 that the White Sox have beaten the Twins three straight games.

The game included a furious argument between White Sox Manager Jim Fregosi and the umpiring crew after first base umpire Drew Coble overruled a two-run homer that had been awarded to Ivan Calderon in the fifth inning. Coble overruled third base umpire Mike Bremigan, who said Calderon's drive down the left field line was fair. Fregosi was ejected by Coble.