This paper addresses the problem of sequence-based controller design for Networked Control Systems (NCS), where control inputs and measurements are transmitted over TCP-like network connections that are subject to random transmission delays and packet losses. To cope with the network effects, the controller not only sends the current control input to the actuator, but also a sequence of predicted control inputs at every time step. In this setup, we derive an optimal solution to the Linear Quadratic Gaussian (LQG) control problem and prove that the separation principle holds. Simulations demonstrate the improved performance of this optimal controller compared to other sequence-based approaches.