I don't know your rating, your opponents ratings and which kind of work you have done. Maybe you memorized tons of opening books, but your 300 points lower rated opponent is equal strong at everything else.
Anyway 200 points difference in FIDE rating mean, that the higher rated player has a 75% expected score. That is one win and one draw in two games.
Yes, you need to fight hard in most of your games to win against such a opponent!
Even at 500 points rating difference, where the stronger player expects a 100 % score, there is sometimes a hard fight.
The best way to score well is to accept the fight. Sometimes you'll get a quick and easy win, sometimes you win after a hard, long fight and sometimes you don`t win.
I'm starting to find it rather frustrating playing against weaker players. Even though I practically always win it feels like it should be easier considering how much more work and effort I've put into studying the game compared to them, this rather annoys me as it feels like the gap in skill should be larger and all that work hasn't paid off as well as it should have, anybody else feel similar to this or just me? So what do you think is the best method to beat weaker players?