England had never won an opening match at the European Championship and, despite the narrow scoreline, were never in danger of losing this one.
Sterling's 57th minute winner was enough to seal three points for England in a rematch of the 2018 World Cup semifinals between the two sides.
Boos were heard as England players took a knee before kickoff, despite pleas from the Football Assocation and England coach Gareth Southgate to respect players, although they were drowned out by applause from other supporters.
Sterling scored following an assist from Kalvin Phillips, while Harry Kane almost made it 2-0 moments later but he skewed wide, and collided with the post.
Kane was later substituted for Jude Bellingham who became the youngest player to appear at the Euros at the age of 17.
Southgate sprang a surprise in his starting lineup, with Kieran Trippier selected at left-back instead of Ben Chilwell and Luke Shaw, but England began brightly with Phil Foden hitting the post on five minutes.
The decision paid off for Southgate as Trippier looked dangerous down the left and Foden lively within the first five minutes.
It took 26 minutes for Croatia to threaten, with Ivan Perisic having an effort on goal, and from there they started to settle.
Sterling said in a post-match interview: "It's great to get off to a win now we've got other games to look forward to. It's been a long season for me, I couldn't wait to get here and couldn't wait to get going."