Cricket, especially the Twenty20 format, has maximum uncertainty, where a single over can completely change the momentum of the game. With millions of people following the Indian Premier League (IPL), developing a model for predicting the outcome of its matches is a real-world problem. A cricket match depends upon various factors, and in this work, the factors which significantly influence the outcome of a Twenty20 cricket match are identified. Each player's performance in the field is considered to find out the overall weight (relative strength) of the teams. A multivariate regression based solution is proposed to calculate points of each player in the league and the overall weight of a team is computed based on the past performance of the players who have appeared most for the team. Finally, a dataset was modeled based on the identified seven factors which influence the outcome of an IPL match. Six machine learning models were trained and used for predicting the outcome of each 2018 IPL match, 15 minutes before the gameplay, immediately after the toss. The prediction results are impressive. The problems with the dataset and how the accuracy of the classifier can be improved further is discussed.