Osaka dropped the first set and trailed 4-2 in the second against the tournament qualifier before finding her rhythm in front of a supportive crowd on a sunny Tuesday in South Florida to win 3-6 6-4 6-3.
It was an improved performance on her previous outing at Indian Wells where she was beaten in the first round.
In January, the two-time Australian Open champion was forced out of the year's first Grand Slam with an abdominal strain, retiring after losing the first set of her third-round match against Belinda Bencic.
"I knew that I wasn't playing too well, but I thought, let me try to stay on the court as long as possible because I consider Miami my home," Osaka said after her win.
"(In Indian Wells) I was just over-hitting a lot, so I tried to use my legs. I was going to run into every corner if I had to, and we were going to have to play for three hours if she was going to beat me."
The match hinged on a tense Osaka service game in the third set, where she fended off two break chances for her Ukrainian opponent and crushed an unreturnable serve to take a commanding 4-1 lead.
She would pound another serve Starodubtseva could not get back over the net on match point to secure the hard-fought victory in two hours and 28 minutes with coach Patrick Mouratoglou looking on.
The Japanese player faces 24th seed Liudmila Samsonova of Russia in the second round on Thursday, with the pair having split their two career head-to-head meetings.
American Alycia Parks, Czech Katerina Siniakova and Romanian Sorana Cirstea were among the other players who advanced to the second round of the WTA 1000 event.