Abstract We study the stochastic multiple-choice knapsack problem, where a set of K items, whose value and weight are random variables, arrive to the system at each time step, and a decision maker has to choose at most one item to put into the knapsack without exceeding its capacity. The goal of the decision-maker is to maximise the total expected value of chosen items with respect to the knapsack capacity and a fifinite time horizon. We provide the fifirst comprehensive theoretical analysis of the problem. In particular, we propose OPT-S-MCKP, the fifirst algorithm that achieves optimality when the value-weight distributions are known. This algorithm also enjoys O˜(√T) performance loss, where T is the fifinite time horizon, in the unknown value-weight distributions scenario. We also further develop two novel approximation methods, FR-S-MCKP and G-S-MCKP, and we prove that FR-S-MCKP achieves O˜(√T) performance loss in both known and unknown value-weight distributions cases, while enjoying polynomial computational complexity per time step. On the other hand, G-S-MCKP does not have theoretical guarantees, but it still provides good performance in practice with linear running time