Many gamble hoping to get rich and they wish they could maximize returns and minimize the risks. This paper aims to examine whether it is possible to create a method that predicts football match outcomes accurately and to make stable profits through online betting. I look at the Bundesliga games. In the estimation I use data related to characteristics of every team, past match and season outcomes, travelling distances, regional features, other (international) games and betting odds publicly available before every game. Three machine learning techniques are considered, Ordered Forest Estimator (OFE), XGBoost and Kernel Support Vector Machine (SVM). I train the models using seasons 2008/9 through 2017/18 and test them on season 2018/19. I predict the probabilities of home team win, draw and away team win for each game. I estimate betting returns based on 4 betting strategies. Only the XGBoost technique provides profits. The highest returns are from the XGBoost model that considers all the variables available and uses a betting strategy known as the Kelly Criterion. These returns are as high as 6.64% and are delivered from the closing odds of the bookmaker Pinnacle through making 276 bets in the whole season.